Android 基础到提高

getString(R.string.homepage_url);//根据资源标识符获取内容

输入类型的验证
Android:inputType   替换以下属性  
android:password|android:ginglieLine|android:number|android:phoneNum|
android:capitalize|android:autoText|android:editable
-----------------流程------------------
1.setContentView(R.layout.main);
2.findViews()
3.restorePrefs()//参考优先级
4.setOnclickListensers();
------------------规范---------------------
button_abc 表示按钮
field_abc 表示输入字段
view_abc   表示显示字段 text_view

------------------------创建菜单----------------------
override
public boolean onCreateOptionsMenu(Menu menu){
menu.add(0, MENU_ABOUT, 0, "关于...").setIcon(android.R.drawable.ic_menu_help);
menu.add(0, MENU_Quit, 0, "结束").setIcon(android.R.drawable.ic_menu_close_clear_cancel);
return super.onCreateOptionsMenu(menu);
}
//menu.add(0, 标识符(identifer), 0, 字符串或资源标识符).setIcon(android.R.drawable.ic_menu_close_clear_cancel);
图标 到 Tango,Nuvola,OpenclipArt 等网站有高质量的图标
内置图标 .setIcon(android.R.drawable.ic_menu_help)     android 本身提供了一些现成的图标

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch(item.getItemId()) {
   case MENU_ABOUT:
    openOptionsDialog();
    break;
   case MENU_Quit:
    finish();
   break;
}
return super.onOptionsItemSelected(item);
}

包括 1。创建菜单 2。处理菜单

------------------------Manifest----------------------
Activity
Broadcast Intent Receiver
Service
Content Provider

package="com.demo.android.bmi" //命名空间
android:versionCode="1" //版本
android:versionName="1.0" //版本名
<application android:icon="@drawable/icon_128" //图标大小 64*64
      android:label="@string/app_name" //主界面的名称
<activity android:name=".Bmi" //表示当前命名空间的activity .也可以不写
   <intent-filter>
    <action android:name="android.intent.action.MAIN" /> //程序切入点
    <category android:name="android.intent.category.LAUNCHER" /> //应用程序列表
   </intent-filter>
   intent-filter 有action 和 category 两个标签
service
receiver
provider

uses-permission
permission
instrumentation

-----------------------------Activity----------------------
1.独立的activity      //单纯跳到下个屏幕
Intent intent = new Intent();
intent.setClass(srcActivity.this, tarActivity.class);
startActivity(intent);
2.相互依赖的activity //activity 之间提供数据
Intent intent = new Intent();
intent.setClass(srcActivity.this, tarActivity.class);
Bundle bundle = new Bundle(); //传递的数据
bundle.putString("key",value);
...putInt 等很多方法 参考帮助文档
intent.putExtras(bundle);
startActivity(intent);

//新activity 解开信息
Bundle bundle = getIntent().getExtras();
value = bundle.getString(key) //和set 数据类型相对应

。。。也可以使用 intent.setString 等方法传递参数不建议使用

----------------------intent------------------------
Intent intent = new Intent(动作,内容);
动作:Intent.ACTION_VIEW ...看帮助
内容:activity,Uri... 看帮助
startActivity(intent);

Uri uri = Uri.parse("");
Uri uri = Uri.parse("geo: 39.895874, 116.321238");

-----------------信息提醒(Notification)--------------
1。状态栏提醒
铃音|震动|闪灯提醒|状态栏信息
比如收到新消息 版本更新等信息 等消息通知

2. 使用状态栏传递消息
     protected void showNotification (double BMI) {
    NotificationManager barManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); //获取消息管理器
    //getSystemService(ALARM_SERVICE) //获取闹铃
查看帮助文档 getSystemService 找到最新的内置系统服务列表
    Notification barMsg = new Notification( //提醒消息
        R.drawable.icon_128,
           "哦, 你过重了!",
           System.currentTimeMillis() //信息到达时间
           );
   
    barMsg.defaults |= Notification.DEFAULT_SOUND;
    //barMsg.defaults |= Notification.DEFAULT_ALL;
   
    PendingIntent contentIntent = PendingIntent.getActivity( //当用户点选状态栏信息是执行一个activity
           this,
           0,
                new Intent(this, Bmi.class),
                PendingIntent.FLAG_UPDATE_CURRENT);
        
    barMsg.setLatestEventInfo(
        Report.this, //当前activity
        "你的 BMI 值过高", //状态栏显示的主题
    "通知监督人", // 状态栏中显示的说明
    contentIntent // 传入参数 指定当用户按下状态栏中信息时让机器开始执行的功能
   );
   
    barManager.notify(0, barMsg); //通知信息
    }

pendingInent getService getBroadcast 方法执行一个服务或广播

内置图标 R.drawable.stat_sys_warning //系统状态图标

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwsffz.html