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.

How to save the state of Activity - Android


AD MOB

onSaveInstanceState, onRestoreInstanceState , save preferences

int mCurrentPhotoIndex = 0;
   @Override
    protected void onSaveInstanceState(Bundle outState) {
        outState.putInt("photo_index", mCurrentPhotoIndex);
        super.onSaveInstanceState(outState);
    }

    @Override
    protected void onRestoreInstanceState(Bundle savedInstanceState) {
        mCurrentPhotoIndex = savedInstanceState.getInt("photo_index");
        super.onRestoreInstanceState(savedInstanceState);
    }

// or save preferences for new start of Activity in onStop
//onCreate or onResume or onStart etc.
public void loadPreferences() {
		SharedPreferences settings = getSharedPreferences(F.PREFERENCES_NAME, 0);
		mCurrentPhotoIndex = settings.getInt("mCurrentPhotoIndex",mCurrentPhotoIndex);
	// String_sOtazka = settings.getString("_sOtazka", _sOtazka);


}
// onStop
public void savePreferences() {
		SharedPreferences settings = getSharedPreferences(PREFERENCES_NAME, 0);
		SharedPreferences.Editor editor = settings.edit();
		editor.putInt("mCurrentPhotoIndex", mCurrentPhotoIndex);
                // String, boolean, float ...
		// editor.putString("mButton1", mButton1.getText().toString());

		editor.commit();

}


397LW NO topic_id




AD

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


331

Android studio list of useful shortcuts or like Eclipse | android-studio-list-of-useful-shortcuts


File -> Settings -> Keymap you can do select Eclipse keymap from drop down menu

Ctrl+Shift+A (Help | Find Action on the main menu) and start typing the name of the action. Choose the desired action from the suggestion list.

Ctrl+Click (on Windows) or Cmd+Click (on MacOS) a tab in the editor to navigate to any part of the file path. Select the necessary element in the drop-down, and the corresponding file path opens in an external browser (e.g., in the Explorer, if your OS is Windows).

 

Find - Rename


Ctrl+F find

Refactor | Rename: Shift+F6  ( +F6)

Find and replace: CTRL + R

Go to variable declaration: CTRL + B

Ctrl+Shift+I (View | Quick Definition)

Ctrl+Alt+F7  (Edit | Find | Show Usages in the main menu)

Ctrl+Shift+F find in project

Ctrl+Shift+F7 (Edit | Find | Highlight Usages in File) to quickly highlight usages of some variable in the current file.
Use F3 and Shift+F3 keys to navigate through highlighted usages.
Press Escape to remove highlighting.

Ctrl+W (extend selection) in the editor selects the word at the caret and then selects expanding areas of the source code. For example, it may select a method name, then the expression that calls this method, then the whole statement, then the containing block, etc. You can also select the word at the caret and the expanding areas of the source code by double-clicking the target areas in the editor.

To search through the classes, files, tool windows, actions, settings, and symbols of your project by double pressing the Shift key

Ctrl+P (View | Parameter Info) e.g. localURL = new URL(localUrlString); select localUrlString and press Ctrl + P

Show html documentation tooltips:  CTRL + Q

 

Edit


Comment uncomment single line: CTRL + /

Comment uncomment selected text: CTRL + SHIFT + /

Code completion (Ctrl+Space)

Alt key and mouse pointer dragging for column selection

If nothing is selected in the editor, and you press Ctrl+C, then the whole line at caret is copied to the clipboard.

Ctrl + Delete  delete word from caret to end.

Ctrl + Backspace delete word from caret to start.

Duplicate line: CTRL + D

To compare two directories,or  jar files, select one or both of them in the Project view and press Ctrl+D.

Editor Delete Line: CTRL + Y

Move line UP, DOWN. Select a code fragment and press Ctrl+Shift+Up or Ctrl+Shift+Down.

To open any class or file in the editor at the desired line, press Ctrl+Shift+N (Navigate | File), start typing the name, and choose the one from the suggestion list. Then type the colon (:) and a line number

Ctrl+Shift+Enter to complete a current statement such as if, do-while, try-catch, return (or a method call)

Alt+Enter to invoke a quick fix or intention action, press the right arrow key to reveal the list of additional options.

To quickly review your recent changes to the project: Alt+Shift+C

Code Completion, you can accept the currently highlighted selection in the popup list with the period character (.), comma (,), semicolon (;), space and other characters.

Quickly move between methods in the editor:  Alt+Up and Alt+Down

Ctrl+Shift+J shortcut joins two lines into one and removes unnecessary space to match your code style

Ctrl+Shift+V to choose and insert recent clipboard contents into the text

Inheritance hierarchy for a selected class: Ctrl+H

Right-clicking on a breakpoint marker  you can quickly enable/disable the breakpoint or adjust its properties.

Evaluate the value of any expression while debugging the program, select its text in the editor (you may press a Ctrl+W a few times to efficiently perform this operation) and press Alt+F8.

Quickly evaluate the value of any expression while debugging the program, hold Alt and click this expression to see its value and calculate it, call a method, etc.

You can use the Extract Variable refactoring even on incomplete statements. Just select the necessary block in the editor and press Ctrl+Alt+V.

To open any particular method or field in editor: Ctrl+Alt+Shift+N

Add unimplemented methods: CTRL + I

Override methods: CTRL + O

Format code: CTRL + ALT + L

Show project: ALT + 1

Show logcat: ALT + 6

Hide project - logcat: SHIFT + ESC

Build: CTRL + F9

Build and Run: CTRL + F10

Alt+Shift+F10  access the Run/Debug dropdown on the main toolbar

Collapse all: CTRL + SHIFT + NumPad +

Expand all: CTRL + SHIFT + NumPad -
102

Unable to resolve id for attribute id Graphical layout editor Eclipse error | unable-to-resolve-id-for-attribute-id-graphical-layout-editor-eclipse-error


Problem: erroneous entry of id

<RadioButton android:id="idRadio"
                android:text="My radio button"/>


Solution: @+id/

<RadioButton android:id="@+id/idRadio"
                android:text="My radio button"/>
139

drawBitmap createBitmap by array of colours Android example | drawbitmap-createbitmap-draw-bitmap-by-array-of-colours-android-example


public static Bitmap createBitmap (int[] colors, int offset, int stride, int width, int height, Bitmap.Config config)
public void drawBitmap (Bitmap bitmap, float left, float top, Paint paint)

//  //www.apache.org/licenses/LICENSE-2.0
public class MainActivity extends Activity {
	    private static final int WIDTH = 50;
	    private static final int HEIGHT = 50;
	    private static final int STRIDE = 64;   // must be >= WIDTH
	    
	    private static int[] createColors() {
	        int[] colors = new int[STRIDE * HEIGHT];
	        for (int y = 0; y < HEIGHT; y++) {
	            for (int x = 0; x < WIDTH; x++) {
	                int r = x * 255 / (WIDTH - 1);
	                int g = y * 255 / (HEIGHT - 1);
	                int b = 255 - Math.min(r, g);
	                int a = Math.max(r, g);
	                colors[y * STRIDE + x] = (a << 24) | (r << 16) | (g << 8) | b;
	            }
	        }
	        return colors;
	    }
	
	@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) {
			Paint paint = new Paint();
			
			canvas.drawColor(Color.GREEN);

            int[] mColors = createColors();
            int[] colors = mColors;

           
            Bitmap bitmap = Bitmap.createBitmap(colors, 0, STRIDE, WIDTH, HEIGHT,
                    Bitmap.Config.RGB_565);
                      
			canvas.drawBitmap(bitmap, 50,20, paint); 
		}

	}
}


60

Get all ID from xml file for Android developers utility | get-all-id-from-xml-file-for-android-developers-utility


This software allow find all IDs from xml layout file source code and create variables with findViewById for onCreate, for onClick and load save preferences functions.
Get all ID is for Windows XP and higher.

2017,04,28
Download 1.0.2.0

[caption id="attachment_903" align="alignleft" width="300" caption="Get all ID from xml file for Android developers utility."]get-all-id-from-xml-file-android[/caption]
311

findViewById in onCreate returns NULL when using Fragment | findviewbyid-in-oncreate-returns-null-when-using-fragment


Call findViewById from onCreateView

public class MainActivity extends ActionBarActivity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		if (savedInstanceState == null) {
			getSupportFragmentManager().beginTransaction()
					.add(R.id.containerMoje, new PlaceholderFragment()).commit();
		}
		
	}


	/**
	 * A placeholder fragment containing a simple view.
	 */
	public static class PlaceholderFragment extends Fragment {
		public PlaceholderFragment() {
		}

		@Override
		public View onCreateView(LayoutInflater inflater, ViewGroup container,
				Bundle savedInstanceState) {
			View rootView = inflater.inflate(R.layout.fragment_main, container,
					false);
			if (container == null) {
		        return null;
		    }


			 TextView mText;
			mText = (TextView)rootView.findViewById(R.id.idText);
			mText.setText("Hello from fragment_main");

			return rootView;
		}
	}
}




res\layout
activity_main.xml

<FrameLayout xmlns:android="//schemas.android.com/apk/res/android"
    xmlns:tools="//schemas.android.com/tools"
    android:id="@+id/containerMoje"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="cz.okhelp.autoskola.MainActivity"
    tools:ignore="MergeRootFrame" />



fragment_main.xml

<RelativeLayout xmlns:android="//schemas.android.com/apk/res/android"
    xmlns:tools="//schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="cz.okhelp.autoskola.MainActivity$PlaceholderFragment" >

    <TextView
        android:id="@+id/idText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>


Editace: 2012-08-05 13:08:49
Počet článků v kategorii: 397
Url:how-to-save-the-state-of-activity-android

AD
11 Share
Share
Tweet