读深入浅出Android笔记

来源:互联网 发布:腾讯云数据库连不上 编辑:程序博客网 时间:2024/05/18 01:19
 

.界面元件
 「android.view.ViewGroup」是各种布局配置(layout)和视图(View)元件的基础类别。

 布局配置(layout)
 LinearLayout(线性版面配置)、FrameLayout(框架版面配置)、
 TableLayout(表格版面配置)、AbsoluteLayout(绝对位置版面配置)、RelativeLayout
 (相对位置版面配置)等

 TextView(文字检视)  作用显示文字到屏幕上


 「android: layout_width」和「android:layout_height」通用属性的常用参数值:
 「fill_parent」参数值表示宽度填满整个上层界面元件;
 「wrap_content」(包住内容) 即随着内部元件的布局大小而改变这个界面元件的高和宽;
 「match_parent」(填充满父容器) 但与「fill_parent」不同,不是真的填满,有自动调整的功能;

 


. Google Android 将其应用程序的界面称为视图(View);

而负责控制各种动作行为的程序主体(Controller),则称为活动(Activity);

Intent意图是一种描述具体动作的机制,例如“拍照”,“往家里打电话”,“打开仓门”等。


.//Dialog 对话框
new AlertDialog.Builder(Bmi.this)
 .setTitle(R.string.about_title)   //设置标题
 .setMessage(R.string.about_msg)   //设置内容
 .setPositiveButton(R.string.ok_label,new DialogInterface.OnClickListener(){ //设置按钮
  public void onClick(
  DialogInterface
  dialoginterface, int i){
  }
 }).show();


//短信息提示框
Toast.makeText(Bmi.this, "打错了吗?只能输入数字喔",Toast.LENGTH_SHORT).show();  


.Intent intent = new Intent(动作, 内容);  //意图    


.android.net.Uri uri = Uri.parse("http://androidbmi.googlecode.com/");  //不接受资源识别符号型态的输入


.建立Menu
1. 建立菜单 
 @Override  "onCreateOptionsMenu" 函数即菜单列的主体
2. 处理选项动作
 "onOptionsItemSelected(MenuItem item)"函数,负责处理菜单列中各选项所个别对应的动作

 

.在Android 平台上,各个Activity 之间的呼叫与交流都要透过"startActivity"一类的函
数来互动。"startActivity" 一类的函数中,最重要需传入的内容就是"意图"(Intent) 。 

Android 每个页面都对应到一个Activity,每个Activity 都有一个独立的菜单列。


所有Android 程序的运作流程,都定义在Activity 中。


Android 系统中的每一个应用程序,在安装的过程里,都得事先在Android 框架中注
册、登记这个应用程序所建立的Activity,并事先注明会使用到的服务。


.Android 应用程序的运作流程,存在于四种载体中:
1. Activity (活动)
2. Broadcast Intent Receiver
3. Service
4. Content Provider


九.Activity分为独立的Activity和相依的Activity
独立的Activity 是不需要从其他地方取得资料的Activity,只是单纯的从一个屏幕跳到下个屏幕,不涉及资料的交换,设置好Intent的内容和动作,使用startActivity函式呼叫;
相依的Activity是需要与其他Activity 交换资料的一种Activity。相依的Activity 又
可再分为单向与双向。从一个屏幕跳到下个屏幕时,携带资料供下一个屏幕(Activity)使
用,就是单向相依的Activity; 要在两个屏幕之间切换,屏幕上的资料会因另一个屏幕的操
作而改变的,就是双向相依的Activity。

 

Activity中封装要传送的值:
Intent intent = new Intent();
 intent.setClass(Bmi.this, Report.class);
 Bundle bundle = new Bundle();
 bundle.putString("KEY_HEIGHT", field_height.getText().toString());
 bundle.putString("KEY_WEIGHT", field_weight.getText().toString());
 intent.putExtras(bundle);
 startActivity(intent);

Activity中取得传送来的值:
Bundle bunde = this.getIntent().getExtras();
 double height = Double.parseDouble(bunde.getString("KEY_HEIGHT"))/100;
 double weight = Double.parseDouble(bunde.getString("KEY_WEIGHT"));
 double BMI = weight / (height * height);
 view_result.setText(getString(R.string.bmi_result) +nf.format(BMI));

 


PS:

res/目录下的文件夹的命名方式,可否随意命名,如不可随意命名,那都有哪些预置好的文件夹,分管什么工作?
res/每个文件夹下面的xml,命名方式,可否随意命名,如不可随意命名,哪都有哪些预置好的xml文件,分管什么工作?

 

private Button.OnClickListener backMain = new Button.OnClickListener()
 {
 public void onClick(View v)
 {
 // Close this Activity
 Report.this.finish();
 }   
格式不太懂