当前位置:  编程技术>移动开发
本页文章导读:
    ▪在Activity中透过Bundle传递自定义数据类型        在Activity中通过Bundle传递自定义数据类型 在Android开发中,有时候需要从一个Activity中传递数据到另一个Activity中,在Bundle中已经封装好了简单数据类型,例如String ,int ,float等。但是如果我们想.........
    ▪ 01-04 Activity初始        01-04 Activity初步 1.Activity的主要作用 2.创建一个Activity的方法 3.在AndroidManifest.xml文件中注册应用Activity的方法 4.在Activity中添加控件的方法   ......
    ▪ ProgressDialog设立OnCancelListener监听事件       ProgressDialog设置OnCancelListener监听事件 一直以为让ProgressDialog消失是监听返回键呢,  public boolean onKeyDown(int keyCode, KeyEvent event) {} 原来不是这样的。   之前开启一个新线程去调用网络json数据,.........

[1]在Activity中透过Bundle传递自定义数据类型
    来源: 互联网  发布时间: 2014-02-18
在Activity中通过Bundle传递自定义数据类型

在Android开发中,有时候需要从一个Activity中传递数据到另一个Activity中,在Bundle中已经封装好了简单数据类型,例如String ,int ,float等。但是如果我们想要传递一个复杂的数据类型,比如一个Book对象,该怎么办呢?
        仔细的看了一下Bundle中的方法,其中有一个是putSerializable()方法,Serializable对象是一个可恢复对象接口,我们只需要让Book对象实现Serializable接口,就可以使用Bundle.putSerializable()方法传递Book对象了。废话不多说了,现将代码贴上:

 

 

package com.bundletest.model.fneg; 

import java.io.Serializable;

/** 
*@Copyright:Copyright (c) 2008 - 2100 
*@Company:Sagret
*@Author:fengcunhan fengcunhan@gmail.com 
*@Package:com.bundletest.model.fneg 
*@FileName:Book.java
*@Time:2010-12-19 
*@User:feng
*/
public class Book implements Serializable {
/** 
* 
*/
private static final long serialVersionUID = 1L;

private String name;
private String id;
private String author;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}

}

 实例化Book类,得到Book对象book以及设置成员变量:

 

if(TextUtils.isEmpty(bookName)||TextUtils.isEmpty(author)||TextUtils.isEmpty(id)){
Toast.makeText(AndroidBundleActivity.this, "输入框不能为空", Toast.LENGTH_SHORT).show();
}else{
Book book=new Book();
book.setName(bookName);
book.setAuthor(author);
book.setId(id);
Intent intent=new Intent(AndroidBundleActivity.this,RecieveActivity.class);
Bundle bundle=new Bundle();
bundle.putSerializable("book", book);
intent.putExtras(bundle);
startActivity(intent);
}

 在另一个Activity中获取传递过来的book对象,并显示:

 

Intent intent=this.getIntent();
Bundle bundle=intent.getExtras();

Book book=(Book)bundle.getSerializable("book");
nameText.setText("书名:"+book.getName());
authorText.setText("作者:"+book.getAuthor());
idText.setText("ID:"+book.getId());
 

    
[2] 01-04 Activity初始
    来源: 互联网  发布时间: 2014-02-18
01-04 Activity初步

1.Activity的主要作用

2.创建一个Activity的方法

3.在AndroidManifest.xml文件中注册应用Activity的方法

4.在Activity中添加控件的方法

 


    
[3] ProgressDialog设立OnCancelListener监听事件
    来源: 互联网  发布时间: 2014-02-18
ProgressDialog设置OnCancelListener监听事件

一直以为让ProgressDialog消失是监听返回键呢,

 public boolean onKeyDown(int keyCode, KeyEvent event) {}

原来不是这样的。

 

之前开启一个新线程去调用网络json数据,弹出进度ProgressDialog 设置的是setCancelable(false)--即不可按返回键让dialog消失,当程序正常解析json完毕后,才让dialog消失,如果这样网络不够好的话 用户等待时间会过长  按返回不起作用,这样程序就处于死等待的状态,无法操作其他的功能。为了防止这种情况出现,我设置

progressDialog.setCancelable(true);
    progressDialog.setOnCancelListener(new OnCancelListener(){

     @Override
     public void onCancel(DialogInterface arg0) {
      thread.interrupt();//用于终止我的线程
      
     }});

然后在线程run()方法里面合适的位置进行线程状态的判断

如:发送请求前后,与解析json数据之后的地方,加入

if(Thread.currentThread().isInterrupted()){
     Log.i(TAG,"thread is stop after parse");
     return ;
    }

这样做是为了让线程停止,不会再执行下面的代码。


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,