博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Google!Android2手机应用程序设计入门》笔记(4)
阅读量:5962 次
发布时间:2019-06-19

本文共 2230 字,大约阅读时间需要 7 分钟。

说明:本周博客又要交白卷了,把空间里面的一篇日志转过来。

第四篇 中级篇(二)

 

chapter 17 加入新活动(Activity)

 

Activity的基本管理,个人总结如下。

1 新建。新建一个继承自Activity的类,实现(Override)onCreate等方法,一般还要添加用于布局等的xml文件,并用setContentView来关联这些xml文件。然后还要在AndroidManifest.xml文件中添加一个Activity节点,基本属性可以仿照默认的Ativity的属性来设置,这称为注册吧。这样就新建了一个Activity。

2 启动。使用Intent,示例代码:

Intent intent = new Intent();

intent.setClass(Bmi.this, Report.class);

startActivity(intent);

上面代码是要启动类名是Report的Activity。

3 Activity间数据传递,使用Bundle

发送方的示例代码,在上面启动代码的startActivity之前,加上这样的代码:

Bundle bundle = new Bundle();

bundle.putString(”KEY_HEIGHT",field_height.getText().toString());

...

intent.putExtras(bundle);

接收方的示例代码,一般在onCreate方法里面来接受前一个Acitity传来的数据:

Bundle  bunde = this.getIntent().getExtras();

double height = Double.parseDouble(bunde.getString("KEY_HEIGHT"))/100;

这样height的值就是前面field_height.getText().toString()的值。

在这里的Bundle就像是一个非常只能的字典。

 

chapter 18 传送数据到新意图(Intent)

 

前面一并整理了。

 

chapter 19 信息提醒

 

protected void showNotification(double  BMI){

    NotificationManager barManager = (NotificationManager)

        getSystemService(NOTIFICATION_SERVICE);

    Notification barMsg = new Notification(

        R.drawable.icon,

        "欧,你过重啰!",

        system.currentTimeMillis()

    );

    PendingIntent contentIntent = PendingIntent.getActivity(

        this,

        0,

        new Intent(this, Bmi.class),

        PendingIntent.FLAG_UPDATE_CURRENT);

    barMsg.setLatestEventInfo(

        Report.this,

        "你的BMI值过高",

        “通知监督人”,

        contentIntent

    );

    barManager.notify(0,barMsg);

}

 

chapter 20 记录与差错(Log)

 

1  Log.d(TAG, "find Views")

2  虚拟机上的查错设置: DevTools -> Developer Settings -> Show CPU Usage

 

chapter 21 活动的生命周期(LifeCycle)

 

这章计划单独研究一番。

 

chapter 22 存储信息(Preference)

 

1 存储偏好设置

@Override

 

public static final String PREF = "BMI_PREF";

public static final String PREF_HEIGHT = "BMI_HEIGHT";

 

protected void onPause() {

    super.onPause()

    SharedPreference settings = getSharedPreferences(PREF,0);

    settings.edit()

        .putString(PREF_HEIGHT, field_height.getText().toString())

        .commit();

}

在Activity的Pause之前存储部分数据是比较合适的。

2 取得偏好设置

private void restorePrefs(){

    SharedPreference settings = getSharedPreference(PREF,0);

    String pref_height = settings.getString(PREF_HEIGHT,"");

    if(! "".equals(pref_height)){

        field_height.setText(pref_height);

        field_weight.requestFocus();

    }

}

 

chapter 23 加入单元测试

 

和21章一样,要专门研究一番,书上给出了单元测试的一种方法。

 

chapter 24 开发不息

 

这一章是个过渡章节吧,主要是引出下一篇。

 

转载地址:http://zacax.baihongyu.com/

你可能感兴趣的文章
JFreeChart开发_用JFreeChart增强JSP报表的用户体验
查看>>
度量时间差
查看>>
通过jsp请求Servlet来操作HBASE
查看>>
Shell编程基础
查看>>
Shell之Sed常用用法
查看>>
3.1
查看>>
校验表单如何摆脱 if else ?
查看>>
<气场>读书笔记
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>
3D地图的定时高亮和点击事件(基于echarts)
查看>>
mysql开启binlog
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>
并查集hdu1232
查看>>
Mysql 监视工具
查看>>
从前后端分离到GraphQL,携程如何用Node实现?\n
查看>>
Linux Namespace系列(09):利用Namespace创建一个简单可用的容器
查看>>
博客搬家了
查看>>
Python中使用ElementTree解析xml
查看>>
jquery 操作iframe、frameset
查看>>