Mars安卓第二季

来源:互联网 发布:双色球参选数据2017 编辑:程序博客网 时间:2024/05/09 23:55

*定义多个Activity

     *定义一个类,继承Activity

     *在该类当中,复写Activity当中的onCreate方法

     *在AndroidManifest.xml文件当中注册该Activity


*启动一个Activity的方法

     *生成一个意图对象(Intent)

     *调用setClass方法设置所要启动的Activity

     *调用startActivity方法启动Activity


*启动第二个Activity的代码

package com.thxy.s2_multiactivity;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;public class MainActivity extends Activity {private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button = (Button) findViewById(R.id.button);ButtonListner listner = new ButtonListner();button.setOnClickListener(listner);}class ButtonListner implements OnClickListener{@Overridepublic void onClick(View v) {Intent intent = new Intent();/*setClass函数的第一个参数是一个Context对象*Context是一个类,Activity是Context类的子类,也就是说,所有的Activity对象,都可以*向上转型为Context对象setClass函数的第二个参数是一个Class对象,在当前情景下,应该传入需要启动的Activity类的class对象*/intent.setClass(MainActivity.this, SecondActivity.class);startActivity(intent);}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}


*Activity的生命周期

onCreate()                 在Activity对象被第一次创建时调用

onStrat()                     当Activity变得可见时调用该函数

onResume()              当Activity开始准备与用户交互时调用该方法

onStop()                      当前Activity变得不可见时调用该方法

onDestory()                当前Activity被销毁之前将会调用该方法

onRestart()                 当一个Activity再次启动之前将会调用该方法


*Intent(意图)初步

            *编写两个Activity页面A和B,实现从A到B的跳转,并带数据

                  *A页面代码(创建intent并添加数据):

private Button button;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button = (Button) findViewById(R.id.button);button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Intent intent = new Intent();intent.setClass(MainActivity.this, OtherActivity.class);intent.putExtra("com.thxy.s2_intent.Age", 20);intent.putExtra("com.thxy.s2_intent.Name", "张三");startActivity(intent);}});}
                   *B页面代码(得到intent和获取其中的数据):

public class OtherActivity extends Activity{private TextView textView;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.other);Intent intent = getIntent();int age = intent.getIntExtra("com.thxy.s2_intent.Age", 10);String name = intent.getStringExtra("com.thxy.s2_intent.Name");textView = (TextView) findViewById(R.id.textView);textView.setText(name+":"+age+"");}}


*Post提交数据的步骤

     *构造请求对象

     *将需要传递给服务器端的数据放置在键值对对象当中

     *将准备好的键值对放置在List当中

     *生成代表请求体的对象

     *将存有请求键值对的List对象放置在请求体对象当中

     *将请求体对象放置在请求对象当中

     *发送请求对象

//该线程使用POST方法向服务器发送请求class PostThread extends Thread {String name;String pwd;public PostThread(String name, String pwd) {this.name = name;this.pwd = pwd;}@Overridepublic void run() {HttpClient httpClient = new DefaultHttpClient();String url = "http://192.168.1.103:8080/s02e14.jsp";//生成使用POST方法的请求对象HttpPost httpPost = new HttpPost(url);//NameValuePair对象代表了一个需要发往服务器的键值对NameValuePair pair1 = new BasicNameValuePair("name", name);NameValuePair pair2 = new BasicNameValuePair("password", pwd);//将准备好的键值对对象放置在一个List当中ArrayList<NameValuePair> pairs = new ArrayList<NameValuePair>();pairs.add(pair1);pairs.add(pair2);try {//创建代表请求体的对象HttpEntity requestEntity = new UrlEncodedFormEntity(pairs);//将请求体放置在请求对象当中httpPost.setEntity(requestEntity);//执行请求对象try {HttpResponse response = httpClient.execute(httpPost);if (response.getStatusLine().getStatusCode() == 200) {HttpEntity entity = response.getEntity();BufferedReader reader = new BufferedReader(new InputStreamReader(entity.getContent()));String result = reader.readLine();Log.d("HTTP", "POST:" + result);}} catch (Exception e) {e.printStackTrace();}} catch (Exception e) {e.printStackTrace();}}}


0 0
原创粉丝点击