Okhelp.cz

Recepty, články, nápady, programování. Dříve dum-zahrada, finance, internet a know-how.okhelp.cz Pro lepší výsledky hledání používejte i diakritiku.

3. Fragments Tutorial HeadlinesFragment – Czech language


AD MOB

Dil 3. HeadlinesFragment.java
V 1. dílu jsme se něco dozvěděli od XML souborech
V 2. dílu jsme rozebrali MainActivity.java


V tomto dílu si rozebereme záludnosti v HeadlinesFragment.java souboru.
Používáme příklad i zip porojekt z https://developer.android.com/training/basics/fragments/creating.html Pozorně si jej nastudujte.

package com.example.android.fragments;

import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
// pokud chceme aby byla aplikace spustitelná i v nižších verzích Androidu
import android.support.v4.app.ListFragment;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

// extends ListFragment důležité pro základní obsluhu ListView atd.
public class HeadlinesFragment extends ListFragment {
	// zajistí zpětné odesílání zprav - zde zachytí kliknutí uživatele na položku
        // v ListView - seznamu položek 
    OnHeadlineSelectedListener mCallback;

    // pro odposlouchávání zpráv v ListView a odesílání do MainActivity.java
    public interface OnHeadlineSelectedListener {
        /**
		funkce je volána onArticleSelected z HeadlinesFragment když uživatel
                klikne na item v ListView - položku seznamu -
		Tělo funkce je v MainActivity!!! Tam proběhnou potřebné úkony.
                Například výměna fragmentů atd. */
        public void onArticleSelected(int position);
    }

	/** Protože je HeadlinesFragment rozšířením (extends) ListFragment
	používá funkci onCreate(). 
        ArticleFragment extends Fragment bude používat onCreateView() 
	*/
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        
		// Zde si pohlídáme verze Androidu a přiřadíme jim 
                // předdefinovanou šablonu XML souboru
		// Je to důležité pokud chceme využívat více možností, 
                // které nové verze nabízejí 
		// například podbarvení vybrané položky seznamu
        int layout = Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB ?
                android.R.layout.simple_list_item_activated_1 : android.R.layout.simple_list_item_1;

		
		// zde se vytovoří jednotlivé položky seznamu v ListView
		// Pole vypadá takto:  
		// static String[] Headlines = {"Article One","Article Two"};
		// položky tedy ponesou názvy ze String[] Headlines
		// Teoreticky si menší pole položek můžete dát i sem pro jednodušší editaci
        setListAdapter(new ArrayAdapter<String>(getActivity(), layout, Ipsum.Headlines));
    }

    @Override
    public void onStart() {
        super.onStart();

		
		// Pokud se bude zobrazovat dual-panel 
                // (pro tablety, větší obrazovky) 
                // například je dobré
		// když bude zvýrazněna vybraná položka setChoiceMode(ListView.CHOICE_MODE_SINGLE);
		// Toto provádíme v onStart(), kdy máme přístup k listview
        if (getFragmentManager().findFragmentById(R.id.article_fragment) != null) {
            getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
        }
    }

	// onAttach() bude asi deprecated, tak můžete vyzkoušet
	/* 
			@Override
		public void onAttach(Context context) {
			super.onAttach(context);

			Activity a;

			if (context instanceof Activity){
				a=(Activity) context;
			}
		}
	*/
// nebo pohledat něco na inetu 
	
    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);

		
		// Zde přiřadíme odposlouchávání zprávy kliknutí na položku ListView 
		// a zpětnou vazbu s MainActivity.
		// Pokud se to nepodaří, bude zaznamenáno a předáno dál chybové hlášení
        try {
            mCallback = (OnHeadlineSelectedListener) activity;
        } catch (ClassCastException e) {
            throw new ClassCastException(activity.toString()
                    + " must implement OnHeadlineSelectedListener");
        }
    }
    /** kliknuto na položku ListView */
    @Override
    public void onListItemClick(ListView l, View v, int position, long id) {
                // long id se bude hodit například při obsluze sql.databází
        
		// Upozorní - předá zprávu MainActivity.java, že uživatel 
		// klikl na položku a odešle i pozici v seznamu
                mCallback.onArticleSelected(position);
        
        
		// getListView().setItemChecked(position, true); 
		// má zajistit podbarvení 
		// - zvýraznění vybrané položky,
		// ale mi to nefungovalo, tak jsem ještě znovu přidal,
		// které je už v onStart() a už to funguje jak má
		// Možná nějaká záludnost v mém telefonu :(
		getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
		 
        getListView().setItemChecked(position, true);
    }
}

397LW NO topic_id




AD

Další témata ....(Topics)


134

Draw Oval Android basic example | draw-oval-android-basic-example


drawOval(), setStrokeWidth(), setStyle()


public class MainActivity extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(new SampleView(this));
	}

	private static class SampleView extends View {

		// CONSTRUCTOR
		public SampleView(Context context) {
			super(context);
			setFocusable(true);

		}

		@Override
		protected void onDraw(Canvas canvas) {

			canvas.drawColor(Color.CYAN);
			Paint p = new Paint();
			// smooths
			p.setAntiAlias(true);
			p.setColor(Color.RED);
			p.setStyle(Paint.Style.STROKE); 
			p.setStrokeWidth(4.5f);
			// opacity
			//p.setAlpha(0x80); //
 
			canvas.drawOval(new RectF(50, 50, 20, 40), p);;
		}

	}
}
17

double in Java example for Android development | double-in-java-example-for-android-development


Java double is 64 bit double precision type used when fractional
precision calculation is required.

Java double je datový typ (reálné číslo) o velikosti 64 bitů. Používá se například pro přesný výsledek po dělení za desetinnou tečkou. Pokud nepotřebuje tak veliké číslo použijte raději typ float, šetříte tím paměť mobilního telefonu.


		// declaration and assignment of value  type double
		double x = 18.41785;
		//print formated  value
		System.out.printf("The value of x is %.3f%n", x); // 18.418
                
                // declaring more variables in single statement
                double d1 = 12.4, d2 = 564.5, d3 = 14.589;

		// double range of value
		System.out.println(Double.MIN_VALUE); // 4.9E-324
		System.out.println(Double.MAX_VALUE); // 1.7976931348623157E308

		// is NaN  Not-a-Number
		double f = (double) Math.sqrt(-15);
		boolean bNaN = Double.isNaN(f);
		System.out.print(bNaN); // true
		
                // check if a string is a valid number in Java example
                // convert string to double Java example
		String sD = "12.8";
		double dParse = Double.parseDouble(sD);

	       // convert strings to numbers
	      String sDl = "15.48";
	      double dFromString = (Double.valueOf(sDl)).doubleValue();

// format double, float or long value to string
	DecimalFormat formatter = new DecimalFormat(".##");
	String s = formatter.format(-.5678);             // -0.57
// .###  -0.568
// .#### -0.5678
// .000000  -.567800

// -123.456
// .##  -123.46
// #.##  -123.46

// #E0  -.1E3
// ##E0  -1.2E2
//###E0  -123E0

// double to string in Java example code
Double dObj = new Double(68.5);
String str = dObj.toString();
// else 
Double dS = 11.6;
String sdouble = dS.toString();

// compare two double variables
	      Double dComp1 = 4.3;
	      if(dComp1.equals(4.3))
	  		System.out.print("true");

	// compares the two specified double values in Java example
	// int i =	compare(double d1, double d2);
	    int i =	Double.compare(11.5, 11.7); // -1 first < second
	    // 0 first == second
	    // 1 first > second
	    System.out.print(i);


39

How setup color coloring syntax code highlight highlighting in Eclipse editor Android example | how-setup-color-syntax-highlight-in-eclipse-android-example


How setup color coloring highlight highlighting syntax font size and family in Eclipse Java and XML editor Android example
Java editor

  1. Go to Eclipse menu Window -> Preferences

  2. Doubleclick on Java

  3. Double click on Editor

  4. Select Java, Javadocs or Comments and setup color and font

  5. Font size and family change from Window->Preferences-> General->Appearance->Colors and Fonts


  6. Press OK for saving changes


xml editor
xml editor double click in Preferences dialog on xml -> Editor -> Syntax coloring
[caption id="attachment_627" align="alignleft" width="297" caption="Eclipse editor syntax color settings"]eclipse-color-syntax-highlight-settings[/caption]
297

Shared Preferences file path Android | shared-preferences-file-path-android



/data/data/<package>/shared_prefs/<package>_preferences.xml

String TAG = "MyActivityName";
File f = new File("/data/data/"+this.getPackageName()
+"/shared_prefs/"+this.getPackageName()+"_preferences.xml");
if(f.exists())
	Log.d(TAG, "exist");
else
	Log.d(TAG, "not exist");

287

AlertDialog setButton Deprecated | alertdialog-setbutton-deprecated


Solution:

public void alertMy(String sTitle, String sMessage){
	AlertDialog.Builder builder = new AlertDialog.Builder(Test.this); // activity
  builder.setTitle(sTitle)
  .setMessage(sMessage)
  .setCancelable(false)
  .setNegativeButton("Close",new DialogInterface.OnClickListener() {
      public void onClick(DialogInterface dialog, int id) {
          dialog.cancel();
      }
  });
  AlertDialog alert = builder.create();
  alert.show();

}



Editace: 2016-06-29 09:58:15
Počet článků v kategorii: 397
Url:3-fragments-tutorial-headlinesfragment-czech-language

AD
11 Share
Share
Tweet