Android学习笔记

Android list targets


创建AVD

Android create avd –n 1.5 –t 2
参数说明:-n [name] 用户设定的装置名称
		  -t [target] AVD ID




启动模拟器命令

Emulator –avd [device-name];




可定制的界面

Emulator –avd 1.5 –skin HVGA-L   (480*320 ,水平显示)
Emulator –avd 1.5 –skin HVGA-P   (320*480 ,垂直显示,仿真器默认模式)
Emulator –avd 1.5 –skin QVGA-L   (320*240 ,水平显示)
Emulator –avd 1.5 –skin QVGA-P   (240*320 ,垂直显示)




移除与删除AVD硬件装置

Android move avd –n android_1.5 –r 1.5 (android_1.5 更名为1.5)
Android delete avd –n android 1.5		 (删除android_1.5 AVD 装置)




设置为中文界面
回到android系统的主界面,然后依序单击手机的”Menu”-->”Setting选项”-->”Local & text”-->”Select local”,选择语言。


添加内存卡

Mksdcard 1024M sdcard.img  添加1G 名称为sdcard.img的SD卡
Emulator –avd and15 –sdcard sdcard.img




弹出对话框

private void openOptionsDialog(){
    	new AlertDialog.Builder(this).setTitle(R.string.app_name)
    	.setMessage(R.string.hello)
    	.setPositiveButton(R.string.string_ok,
    			new DialogInterface.OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						
					}
				})
		.setNegativeButton(R.string.string_cancel,
				new DialogInterface.OnClickListener() {
					
					@Override
					public void onClick(DialogInterface dialog, int which) {
						// TODO Auto-generated method stub
						
					}
				})
		.show();
}




弹出提示界面

Toast.makeText(Bmi.this,”BMI 计数器”,Toast.LENGHT_SHORT).show();




快捷键添加对应包

Ctrl+shift+O




利用函数取得资源文件中的字符串

Getstring(R.string.strName);




打开对应的程序

Uri uri = Uri.parse(“www.baidu.com”);
Intent intent = new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);




调试输出

Log.v(“TAG”,”STRING”);   // 		详细信息
Log.d(“TAG”,”STRING”);   // 		调试信息
Log.i“TAG”,”STRING”);   //  		通知信息
Log.w(“TAG”,”STRING”);  // 		 	警告信息
Log.e(“TAG”,”STRING”);  //			错误信息




数据存储
声明一个优先级设置(SharedPreferences)类型“settings”,并使用getSharedPreferences函数,来寻找系统中有无符合以“BMI_PREF”字符串作为文件名的优先级设置文件。如果有符合条件的优先级设置文档存在的话,就将这个优先级设置指定使用作为“settings”作为代号来操作。如果没有的话,“getSharedPreferences”函数会返回0,给settings.可以通过“getXXX”函数从优先级设置(SharePreferences)读取不同类型的内容,例如本例中使用”getString”来读取文字类型的信息。当“PREF_HEIGHT”优先级设置参数存在时,字符串“pref_height”就会得到优先级设置参数的内容。如果不存在“PREF_HEIGHT”这个优先级设置参数时,字符串“pref_height”则会得到一个空字符串。
代码说明:

 “PREF” 优先级设置文件的名称代号。
 “PREF_HEIGHT”优先级设置文件里的存储数据项名称代号。
  restorePrefs函数添加在重写的OnCreate事件中。

public static final String PREF = "BMI_PREF";
public static final String PREF_HEIGHT = "BMI_Height";
EditText etHeight;
EditText etWeight;

private void restorePrefs()
	{
		SharedPreferences settings = getSharedPreferences(PREF,0);
		String pref_height = settings.getString(PREF_HEIGHT, "");
		if(! "".equals(pref_height))
		{
			etHeight.setText(pref_height);
			etWeight.requestFocus();
		}
	}

settings中拥有3个函数:“edit”,“putString”和“commit”;
	edit用于编辑优先级设置。
	putString用于告诉优先级设置的内容。
	commit用于编辑结束后更改优先级的设置并将其保存。
@Override
	protected void onPause() {
		// TODO Auto-generated method stub
		super.onPause();
		SharedPreferences settings = getSharedPreferences(PREF,0);
		settings.edit().putString(PREF_HEIGHT, etHeight.getText().toString()).commit();
	}




获取资源文件

Resources res = getResources();//获取“资源”对象
Configuration conf = res.getConfiguration();//获取res的相关配置对象
Conf.locale = Locale.SIMPLEFIED_CHINESE;//改变当前程序所使用的语言
DisplayMetrices dm = res.getDisplayMetrics();//
Res.updateConfiguration(conf,dm);//将修改反映到屏幕上




配置文件指定屏幕方向
只要在“AndroidManifest.xml”的“Activity”标签中加上
Android:screenOrientation = “portrait”
备注:portrait 直式显示
      Landscape 横式显示
      Sensor   自动变换
也可以在代码中指定屏幕方向

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANSCAPE);


备注:  SCREEN_ORIENTATION_LANSCAPE 横式
    SCREEN_ORIENTATION_PORTRAIT 直式


无标题全屏显示

this.requestWindowFeature(Window.FEATURE_NO_TITLE);   
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);   




通过Id获得图片bmp

Bitmap mBitmap = BitmapFactory.decodeResource(getResources(),
   R.drawable.pic1);
 int pic_width = mBitmap.width();
 int pic_height = mBitmap.height();



透明度设置
      颜色总共为32位;0x00ffffff,开始两位代表透明度;
      00代表完全透明;ff代表完全不透明;

弹出圆形进度条对话框

@Override protected Dialog onCreateDialog(int id) {
        switch (id) {
            case DIALOG_LOADING: {
                ProgressDialog dialog = new ProgressDialog(this);
                dialog.setMessage(getResources().getString(R.string.data_loading));
                dialog.setIndeterminate(true);
                dialog.setCancelable(true);
                return dialog;
            }
        }
        return null;
}



消息分发函数的调用方法:

class LoginHander extends Handler {
		private static final int MSG_DIALOG_LOADING = 1;
		private static final int MSG_DIALOG_CANCEL = 2;
		private static final int MSG_SHOW_TOAST = 3;
		
		public void actionShowProgressDlg(int id){
			android.os.Message msg = new android.os.Message();
	        msg.what = MSG_DIALOG_LOADING;
	        msg.arg1 = id;
	        sendMessage(msg);
		}

		public void actionHideProgressDlg(int id){
			android.os.Message msg = new android.os.Message();
	        msg.what = MSG_DIALOG_CANCEL;
	        msg.arg1 = id;
	        sendMessage(msg);
		}
		
		public void actionShowToast(final String str) {
			android.os.Message msg = new android.os.Message();
	        msg.what = MSG_SHOW_TOAST;
	        msg.obj = str;
	        sendMessage(msg);
		}
		
		@Override
public void handleMessage(Message msg) {
			switch (msg.what) {
			case MSG_DIALOG_LOADING:
				showDialog(msg.arg1);
				break;
			case MSG_DIALOG_CANCEL:
				dismissDialog(msg.arg1);
				break;
			case MSG_SHOW_TOAST:
Toast.makeText(Login.this, (String)msg.obj, Toast.LENGTH_LONG).show();
				break;
			default: 
				super.handleMessage(msg);
				break;
			}
		}
	
	}

 

 

你可能感兴趣的:(java,android,OS,D语言)