安卓笔记

目录

1:安卓应用程序架构

Android应用程序中的资源
http://www.cnblogs.com/mandroid/archive/2011/02/13/1953270.html
Android应用程序四大组件
http://blog.youkuaiyun.com/wbw1985/article/details/4864949
http://www.blogjava.net/pdw2009/archive/2010/07/21/265193.html

内容提供者
http://justsee.iteye.com/blog/936612

AndroidManifest.xml文件的结构
http://www.cnblogs.com/hnrainll/archive/2011/10/26/2225726.html

2:创建用户界面

2.1创建、配置和使用Activity
Activity生命周期

Activity的生命周期中onPause()方法和onSaveInstanceState(Bundle outState)方法比较
http://blog.youkuaiyun.com/chengy35/article/details/46597775

Activity之间传递方式- Intent

http://blog.youkuaiyun.com/chengy35/article/details/46598343

2.2 View
View简介

混合使用XML布局文件和代码来控制视图

2.3 定制控件Widget的3种方式
2.4 带图像的TextView
2.5 定制带文本标签的EditText
2.6 使用AlertDialog类创建对话框

AlertDialog类的简介
【确认/取消】对话框
带3个按钮的对话框
简单列表对话框
单选列表对话框
多选列表对话框
创建3种选择省份的列表对话框
http://www.cnblogs.com/Gaojiecai/archive/2011/12/10/2283156.html

2.7 进度条–水平进度对话框和圆形进度对话框

2.8 Toast和Notification

用Toast显示提示信息框
阻止关闭Toast信息框
Notification与状态栏信息

博主博客!
http://blog.youkuaiyun.com/chengy35/article/details/46401431

2.9 菜单

ActionBar 等一些新奇的东西

http://blog.youkuaiyun.com/chengy35/article/details/46757591

github上的这个开源的项目 地址为:
自己加了一些注释了的…
http://actionbarsherlock.com

http://download.youkuaiyun.com/detail/chengyangyy/8869047

3种不同的菜单,以后以这个为主!
http://blog.youkuaiyun.com/chengy35/article/details/46446629
这个可以参考!
http://www.cnblogs.com/codingmyworld/tag/Android/
Android开发完全讲义里,菜单主要分为:
选项菜单、上下文菜单和子菜单

2.10 布局

FrameLayout 框架布局
LinearLayout 现行布局
RelativeLayout
TableLayout

3 控件详解

3.1日期与时间控件
输入日期的控件 DatePicker
输入时间的控件 TimePicker
显示时钟的控件:AnalogClock 和DigitalClock

3.2列表控件
ListView

可以多选和单选的ListView
动态添加、删除ListView列表项
改变ListView列表项选中状态的背景颜色

3.3ListActivity-封装了ListView
http://blog.youkuaiyun.com/chengy35/article/details/46407319
listview大全

回头把本书中所有关于listview的代码上传!

3.4使用SimpleAdapter创建更复杂的列表项,baseAdapter

http://blog.youkuaiyun.com/shakespeare001/article/details/7926783

3.5 下拉列表控件 Spinner

3.6 标签控件? TabHost
http://www.cnblogs.com/androidez/archive/2013/02/09/2909549.html

4 移动存储解决方案

4.1 SharedPreferences
存取简单数据类型
http://blog.youkuaiyun.com/chengy35/article/details/46428375
复杂数据类型
使用base64保存
方法:

可以保存设置的Activity:PreferenceActivity
自己写的
http://blog.youkuaiyun.com/chengy35/article/details/46742181

4.2 文件存储

4.3 SQLite数据库

http://blog.youkuaiyun.com/chengy35/article/details/46449635
http://blog.youkuaiyun.com/chengy35/article/details/46446999
创建数据库和表

模糊查询

分页显示记录

事务

使用…

持久化数据库引擎(db4o)?
创建和打开数据库
向数据库插入Java对象
查询Java对象
高级数据查询
更新数据库中的Java对象
删除数据库中的Java对象

网络资源

http://blog.youkuaiyun.com/chengy35/article/details/46563195

Android服务

Service生命周期
Service怎样注册?

<service android:enabled="true" android:name=".MyService" />

Android Service
service 1 ,2
http://blog.youkuaiyun.com/chengy35/article/details/46490955
http://blog.youkuaiyun.com/chengy35/article/details/46562875

绑定Service 与Activity方法
代码,自动启动service方式和手动添加方式。

http://download.youkuaiyun.com/detail/chengyangyy/8865983

BroadCastReceiver在manifest中应该怎样注册?

    <receiver android:name="StartupReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </receiver>

代码中,体现出来

package net.blogjava.mobile.startupservice;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.telephony.TelephonyManager;

public class StartupReceiver extends BroadcastReceiver
{
    @Override
    public void onReceive(Context context, Intent intent)
    {
        Intent serviceIntent = new Intent(context, MyService.class);        
        context.startService(serviceIntent);        

        Intent activityIntent = new Intent(context, MessageActivity.class);
        activityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(activityIntent);
    }

}

系统服务

监听手机来电,需要获得TelephonyManager对象,则需要使用Content.TELEPHONE_SERVICE变量获得,代码如下:

    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
package net.blogjava.mobile;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.widget.Toast;

public class Main extends Activity
{
    public class MyPhoneCallListener extends PhoneStateListener
    {

        @Override
        public void onCallStateChanged(int state, String incomingNumber)
        {

            switch (state)
            {
                case TelephonyManager.CALL_STATE_OFFHOOK://通话状态
                    Toast.makeText(Main.this, "正在通话...", Toast.LENGTH_SHORT)
                            .show();
                    break;

                case TelephonyManager.CALL_STATE_RINGING://来电状态
                    Toast.makeText(Main.this, incomingNumber,
                            Toast.LENGTH_SHORT).show();
                    break;

            }
            super.onCallStateChanged(state, incomingNumber);
        }

    }

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

        MyPhoneCallListener myPhoneCallListener = new MyPhoneCallListener();
        //设置电话状态监听器
        tm.listen(myPhoneCallListener, PhoneStateListener.LISTEN_CALL_STATE);


    }
}

来电黑名单
如果要静音,还需要一个音频服务对象,AudioManager。
主要修改的地方如下:

    public class MyPhoneCallListener extends PhoneStateListener
    {

        @Override
        public void onCallStateChanged(int state, String incomingNumber)
        {
        //获得音频服务(Audiomanager对象)
            AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
;
            switch (state)
            {
                case TelephonyManager.CALL_STATE_IDLE:
                    //在手机空闲状态时,将手机音频设为正常状态audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
                    break;
                case TelephonyManager.CALL_STATE_RINGING:
                //来电状态时,判断打电话的是否为要静音的电话号,如果是,则静音
                    if ("12345678".equals(incomingNumber))
                    {
                        audioManager
                                .setRingerMode(AudioManager.RINGER_MODE_SILENT);
                    }
                    break;

            }
            super.onCallStateChanged(state, incomingNumber);
        }

    }

时间服务
计时器chronometer

预约时间Handler

定时器Timer
介绍如下所示:
http://blog.youkuaiyun.com/chengy35/article/details/46745651

多媒体

音乐播放器
http://blog.youkuaiyun.com/chengy35/article/details/46586769

数据通信机制 AIDL

http://blog.youkuaiyun.com/chengy35/article/details/46584251

反射机制

http://blog.youkuaiyun.com/chengy35/article/details/46584223

消息处理机制

http://blog.youkuaiyun.com/chengy35/article/details/46446793

感兴趣的东西

1:黑名单
http://blog.youkuaiyun.com/chengy35/article/details/46584143
2:viewpage
http://blog.youkuaiyun.com/chengy35/article/details/46420623
3:首次使用有引导
http://blog.youkuaiyun.com/chengy35/article/details/46420485
4:pulltorefresh项目
http://blog.youkuaiyun.com/chengy35/article/details/46420189
5:闹钟!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值