Android学习笔记
-
推荐安卓开发神器(里面有各种UI特效和android代码库实例)
查看可用虚拟装置AVD
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() {@Overridepublic void onClick(DialogInterface dialog, int which) {// TODO Auto-generated method stub}}).setNegativeButton(R.string.string_cancel,new DialogInterface.OnClickListener() {@Overridepublic 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用于编辑结束后更改优先级的设置并将其保存。@Overrideprotected void onPause() {// TODO Auto-generated method stubsuper.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);}@Overridepublic 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;}}}
更多相关文章
- Android软键盘弹出,界面整体上移
- 关于android avd目录的设置
- Android横竖屏切换不重新调用onCreate()
- 【Android(安卓)UI控件】EditText属性大全,TextView属性大全
- Android的电源管理
- 安卓xml文件中设置动画匀速旋转无效?
- 你知道android textView文字怎么竖向排列吗
- EditText属性及一些常用用法
- Android(安卓)中不弹出软键盘的方法