第一章 了解、深入、动手做 第二章 Android初体验 第三章 用户人机界面 3.1 更改与显示文字标签 /*第一步:使用findViewById函数,利用ID找到对象TextView对象*/ TextView myTextView =(TextView)findViewById(R.id.controlId); /*第二步:使用TextView对象调用setText()函数更改文字标签*/ myTextView.setText("欢迎来到Android的TextView世界..."); 3.2 更改手机窗口画面底色 /*第一步:在资源文件values中定义颜色*/ <color name="black_overlay">#66000000</color> /*第二步:在布局文件中引用颜色*/ andorid:background="@drawable/white"; 3.3 更改TextView文字颜色 /*第一步:使用findViewById函数,利用ID找到对象TextView对象*/ TextView myTextView =(TextView)findViewById(R.id.controlId); /*第二步:使用TextView对象调用setTextColor()函数设置文字的颜色*/ myTextView.setTextColor(Color.RED); 3.4 置换TextView文字 /*同3.1类似,这里省略*/ 3.5 取得手机屏幕大小 /*第一步:必须引用android.util.DisplayMetrics*/ import andorid.util.DisplayMetrics /*第二步:实例化DisplayMetrics对象*/ /*第三步:获取屏幕大小*/ DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm); String width=dm.widthPixels.toString();String height=dm.heihtPixels.toString(); 3.6 样式化的定型对象 /*第一步:在资源文件values中定义样式*/ <style name="DavidStyleText1"><item name="android:textSize">18sp</item> <item name="android:textColor">#EC9237</item> </style> /*第二步:在控件的属性中引用对应的样式即可*/ style="@style/DavidStyleText1" 3.7 简易的按钮事件 /*第一步:获得按钮句柄*/ Button myButton =(Button)findViewById(R.id.button1); /*第二步:重写按钮的onClick事件*/ myButton.setOnClickListener(new OnClickListener(){@Override public void onClick(View view){/*函数的具体实现内容*/}}); 3.8 手机页面的转换 /*第一步:第一个显示的页面*/ setContentView(R.id.firstpage); /*第二步:点击按钮时重新指定显示的页面*/ setContentView(R.id.secondpage); 3.9 调用另一个Activity /*第一步:new一个Intent对象,并指定要启动的class*/ Intent intent = new Intent();intent.setClass(firstpage.this,secondpage.class); /*第二步:调用一个新的Activity*/ startActivity(intent); /*第三步:关闭原本的Activity*/ firstpage.this.finish(); 3.10 不同Activity之间的数据传递 /*第一步:创建Bundle对象*/ Bundle bundle = new Bundle(); /*第二步:将数据封装到Bundle里面*/ bundle.putString(key,value);bundle.putDouble(key,value);........ /*第三步:将Bundle对象assign给Intent*/ intent.putExtras(bundle); /*第四步:调用Activity*/ startActivity(intent); /*第五步:在第二个Activity中解析数据*/ Intent intent =this. getIntent();Bundle bundle = intent.getExtrass(); String sex = bundle.getString("sex"); String age = bundle.getInt("age"); 3.11 返回数据到前一个Activity /*第一步:从第一个Activity跳转到第二个Activity时使用函数startActivityForResult*/ startActivityForResult(intent,0); /*第二步:在第二个页面封装要返回的数据,并且关闭Activity*/ secondpage.this.setResult(RESULT_OK,intent);secondpage.this.finish(); /*第三步:在第一个页面接收返回来的数据,并解析(需要重写onActivityResult函数)*/ Bundle bundle = data.getExtrass();String sex = bundle.getString("sex");String age = bundle.getInt("age"); 3.12 具有交互功能的对话框 /*第一步:通过AlertDialog对象来实现弹出对话框*/ AlertDialog dialog = new AlertDialog.Builder(page.this).setTitle("标题").setMessage("消息内容").setPositvieButon(new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialoginterface,int i){/*函数的实现内容*/}}).show(); 3.13 置换文字颜色的机关 /*第一步:获取句柄*/ TextView textView =(TextView)findViewById(R.id.textview1); /*第二步:通过函数setTextColor设置文字的颜色*/ textView.setTextColor(Color.RED); 3.14 控制不同文字的字体 /*第一步:设置文字的大小使用setTextSize()*/ textView.setTextSize(20); /*第二步:设置文字的样式使用setTypeface*/ myText.setTypeface(Typeface.createFormAsset(getAssets(),"font/HandmadeTypewriter.ttf")); 3.15 如iphone拖动相片特效 /*第一步:获取控件Gallery的句柄*/ Gallery gallery = (Gallery)findViewById(R.id.myGallery); /*第二步:设置setAdapter*/ gallery.setAdapter(new ImageAdapter(this)); /*第三步: .......*/ /*第四步: .......*/ /*第五步: .......*/ 3.16 自制计算器 /*请参考控件的事件例子*/ 3.17 关于(About)程序信息 /*第一步:使用onCreateOptionsMenu方法创建Menu对象*/ public boolean onCreateOptionsMenu(Menu menu){menu.add(0,0,0,R,string.app_about);menu.add(0,1,1,R.string.str_exit); return super.onCreateOptionsMenu(menu);} /*第二步:使用onOptionsItemSelected 操作Menu对象*/ public boolean onOptionsItemSelected(MenuItem item){super.onOptionsItemSelected(item);switdch(item.getItemId()){case 0: openOptionsDialog();break; }return true;} 3.18 程序加载中,请稍后 /*第一步:使用ProgressDialog实现程序加载等待信息,创建ProgressDialog对象*/ ProgressDialog myDialog = progressDialog.show(page.this,strDialgoTitle,strDialogBody,ture); /*第二步:关闭ProgressDialog*/ myDialog.dismiss(); 3.19 全屏幕以按钮重写 /*第一步:新建一个空白的页面*/ /*第二步:在源代码中创建一个按钮*/ Button myButton = new Button(this); myButton.setText ("...."); /*第三步:将setContentView方法中的参数修改成第二步创建的控件*/ setContentView(myButton); 3.20 今晚到哪里打牙祭(弹出列表式对话框) /*同3.12*/ 3.21 Android变脸(主题Theme实现) /*同3.6*/ 3.22 打勾显示输入的密码 /*第一步:获取checkbox句柄,重写setOnCheckedChangeListener事件*/ CheckBox myCheck=(CheckBox)findViewById(R.id.checkbox1); /*第二步:通过setTransformationMethod方法实现密码的显示和隐藏*/ myCheck.setTransformationMethod(HideReturnTransformtionMethod.getInstance()); myCheck.setTransformationMethod(PasswordTransformtionMethod.getInstance()); 3.23 Android多语言系支持 /*Locale与Configuration实现多语言的支持*/ 3.24 判断手机操作系统版本是否允许运行程序 /*第一步:取得应用程序的SDK版本*/ int sdk= getApplicationInfo().targetSdkVersion; /*第二步:取得手机的SDK版本*/ int sdk2 = Build.VERSION_CODES.GINGERBREAD; /*第三步:对获取到的两个SDK进行比较,看是否满足要求*/ if(sdk<=sdk2){ /*显示提示消息*/} 3.25 两个不同的程序彼此调用 /*结构同3.9,不同点,intent.setClassName("","")*/ 3.26 指定安装应用程序迁移至SD卡 /*在AndroidMainifest.xml文件中添加 android:installLocation="preferExternal",特别要注意的是API Level 必须大于等于8*/ 3.27 手机动态Layout主题随手势物换迁移 /*通过手指对屏幕的左右滑动来实现Activity之间的切换,具体实现步骤敬请等待.......*/ 第四章 史上超豪华的手机控件 4.1 EditText与TextView共舞(setOnKeyListener) /*第一步: */ /*第二步:*/ 4.2 设计具有背景图的按钮(ImageButton的使用) 4.3 给圣诞老人的信息(Toast对象的使用) 4.4 我同意条款 4.5 消费券采购列表 4.6 向左或向右 4.7 专业相框设计 第五章 交互式通信服务与手机控制 第六章 手机自动服务纪实 第七章 娱乐多媒体 第八章 当Android与INtermet接轨 第九章 Google服务于Android完美整合 第十章 创意Android程序设计 第十一章 HTML5 Mobile 应用程序开发 附录A 如何发布程序到Android Market 附录B 升级项目至新版SDK与Honeycomb平板程序部署