Android学习中用到基础知识
来源:互联网 发布:上海二手房成交数据 编辑:程序博客网 时间:2024/04/29 23:28
持续更新中。。。。。
src : 放置编写的源文件
gen: eclipse插件帮助生成的文件 R.java 千万不要修改它!!
res:放置的所有的资源都会在R.java中生成相应的ID,layout:布局文件xml,控制这个activity的位置、大小、宽窄,values:值。strings.xml:
assets: 放置任何文件
AndroidManifest.xml: 整个应用程序的配置文件
Intern的四个属性:
Component name 制定启动那个ActivityAction:执行那些操作DATA:传送哪些数据Extra:键值对,通过Intern传递到另外一个Activity
生命周期:
onCreate: 当第一次调用的时候onCreate
onStart : 当activity处于可见的时候就会调用onStart
onRetart: 当被遮挡住的时候,并没有被销毁,所以在此调用的时候会调用onRestart
onPause: 应用程序启动另外一个程序的时候(例如:来电话时候,生成一个新的activity,把当前的操作保存起来)
onResume: 获得焦点的时候调用!
onStop: 当activity处于不可见的时候就会调用onStop,第二个遮挡住第一个的时候会调用,如果只是一个对话框弹出来就不会调用
onDestory:
task的基本概念: a task is a stack id activities(一个栈)
Toast:是一个类,主要管理消息的提示。
makeText(),是Toast的一个方法,用来显示信息,分别有三个参数。
第一个参数:this,是上下文参数,指当前页面显示
第二个参数:“string string string ”是你想要显示的内容,也可以是“你好!”。这个是随便定义的,显示你想要显示的内容。
第三个参数:Toast.LENGTH_LONG,是你指你提示消息,显示的时间,这个是稍微长点儿,对应的另一个是ToastLENGTH_SHORT,这个时间短点儿,大概2秒钟。
show(),表示显示这个Toast消息提醒,当程序运行到这里的时候,就会显示出来,如果不调用show()方法,这个Toast对象存在,但是并不会显示,所以一定不要忘记。
简单应用:
button3.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {LayoutInflater inflater=LayoutInflater.from(AlertDialogActivity.this);final View textEntryView=inflater.inflate(R.layout.alert_dialog_text_entry, null);final EditText usernameET=(EditText)textEntryView.findViewById(R.id.username_value);final EditText passwordET=(EditText)textEntryView.findViewById(R.id.password_value);//final String username=usernameET.getText().toString();new AlertDialog.Builder(AlertDialogActivity.this).setIcon(R.drawable.alert_dialog_icon).setTitle("温馨提醒").setView(textEntryView).setPositiveButton("确定", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(AlertDialogActivity.this, "用户名="+usernameET.getText().toString()+"\n密码="+passwordET.getText().toString(), Toast.LENGTH_LONG).show();}}).setNegativeButton("取消", new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {Toast.makeText(AlertDialogActivity.this, "你选择了取消按钮!", Toast.LENGTH_SHORT).show();}}).show();}});
在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Activity处理。
目的: A.java 是主界面,B.java 是子功能模块,要从A启动B,B干完活之后把结果汇报给A
startActivityForResult与startActivity的不同之处在于:
1、startActivity( )
仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivity( )。
2、startActivityForResult( )
可以一次性完成这项任务,当程序执行到这段代码的时候,假若从T1Activity跳转到下一个Text2Activity,而当这个Text2Activity调用了finish()方法以后,程序会自动跳转回T1Activity,并调用前一个T1Activity中的onActivityResult( )方法。
1、startActivity( )
仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivity( )。
2、startActivityForResult( )
可以一次性完成这项任务,当程序执行到这段代码的时候,假若从T1Activity跳转到下一个Text2Activity,而当这个Text2Activity调用了finish()方法以后,程序会自动跳转回T1Activity,并调用前一个T1Activity中的onActivityResult( )方法。
关键代码如下:
Bundle1.java
package com.cellcom;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.RadioButton;/** * @author nwang * * 输入身高和选择性别,计算标准体重。并把数据返回到原来Activity */public class Bundle1Activity extends Activity {private int my_requestCode=1550;private RadioButton sexMan;private RadioButton sexWoman;private EditText heightEdit;private Button okButton;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.bundle1);sexMan=(RadioButton)findViewById(R.id.sex_man);sexWoman=(RadioButton)findViewById(R.id.sex_woman);heightEdit=(EditText)findViewById(R.id.height_edit);okButton=(Button)findViewById(R.id.button_ok);okButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {double height=Double.parseDouble(heightEdit.getText().toString());String sex="";if(sexMan.isChecked()){sex="M";}else{sex="F";}Intent intent=new Intent();intent.setClass(Bundle1Activity.this, Bundle2Activity.class);//封装数据Bundle bundle=new Bundle();bundle.putDouble("height", height);bundle.putString("sex", sex);intent.putExtras(bundle);startActivityForResult(intent, my_requestCode);}});}//回调方法@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);switch (requestCode) {case RESULT_OK://RESULT_OK表示返回成功,提取数据。Bundle bundle=data.getExtras();String sex=bundle.getString("sex");double height=bundle.getDouble("height");heightEdit.setText(String.valueOf(height));if(sex.equals("M")){sexMan.setChecked(true);System.out.println("sssssssssssssssssssss");}else{sexWoman.setChecked(true);}break;default:break;}}}
Bundle2.java:
package com.cellcom;import java.text.DecimalFormat;import java.text.NumberFormat;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.TextView;public class Bundle2Activity extends Activity{private TextView result;private Button backButton;Intent intent=null;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.bundle2);result=(TextView)findViewById(R.id.result);backButton=(Button)findViewById(R.id.button_back);intent=this.getIntent();Bundle bundle=intent.getExtras();double height=bundle.getDouble("height");String sex=bundle.getString("sex");String sexStr="";if("M".equals(sex)){sexStr="男性";}else{sexStr="女性";}String weight=this.getWeight(sex, height);result.setText("你是一位:"+sexStr+"\n身高是:"+height+"厘米 \n你的标准体重:"+weight+"公斤");//返回上一页backButton.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {Bundle2Activity.this.setResult(RESULT_OK, intent);Bundle2Activity.this.finish();}});}public String getWeight(String sex,double height){String weight="";if("M".endsWith(sex)){weight=format((height-80)*0.7);}else{weight=format((height-70)*0.6);}return weight;}public String format(double num){NumberFormat formatter=new DecimalFormat("0.00");String s=formatter.format(num);return s;}}
只有Bundle2Activity.this.finish();执行完成后才会自动跳转到bundle1.java的界面
0 0
- Android学习中用到基础知识
- Android学习笔记:练习中用到的一些技巧总结
- android 中用到的定时器
- Android中用到UI控件
- qt学习过程中用到的网址!
- 机器学习中用到的各种距离
- 机器学习中用到的一些距离
- 学习中用到的一些网址
- 机器学习中用到的数学知识
- 学习中用到的书籍和知识点
- 深度学习中用到的python包
- 学习数据结构中用到的代码
- Android开发中用到的命令
- Android开发中用到的部分权限
- Android开发中用到的部分权限
- android中用到的转义字符
- Android中用到的多线程技术概念
- android开发中用到的框架
- android反编译工具总结
- SubClassWindow详解
- POJ-1703 Find them, Catch them 经典并查集
- 考研、工作、出国?——给一位大二学生出的主意
- Android如何防止apk程序被反编译
- Android学习中用到基础知识
- CentOS 安装mediawiki完整攻略
- javascript通过url向jsp页面传递中文参数乱码解决方法
- Android Configuration change引发的问题及解决方法
- 杭电 1865 1sting
- 设计模式之享元
- MFC 菜单贴图
- sdut 2151
- EIGRP详解