Android基础_软件的国际化 Acitivity(七)
来源:互联网 发布:域名交易流程 编辑:程序博客网 时间:2024/06/05 10:34
软件的国际化
在不同的地区显示不同的语言在value中做文章美国:创建values-en-rUS文件夹<?xml version="1.0" encoding="utf-8"?><resources> <string name="app_name"></string> <string name="action_settings">Settings</string> <string name="hello_world">us</string></resources>中国:创建values-zh-rCN文件夹<?xml version="1.0" encoding="utf-8"?><resources> <string name="app_name"></string> <string name="action_settings">Settings</string> <string name="hello_world">中国</string></resources>
Acitivity
activity的创建 /* 1.创建一个MyActivity并继承于Activity * 2.实现oncreate()并调用setContentView(R.layout.my_activity) * 创建mmyactivity * 3.在androidmanifest的application中注册 * 4.创建一个intent 类 * new Intent(context,MyActivity.class); * 5.调用 startActivity(intent); * startActivity(intent); * */
页面的数据传递
页面的数据传递 /*所有的key都应该使用静态变量来传递*/ /*Intent的另一个作用,传递数据 * 1.intent.putExtra(key,value); * 2.在另一个activity中 * 1.intent = getIntent(); * 2.intent.get相应类型Extra(key,defaultValue); * */ /*传递对象 * 1.创建该类并实现 serializable; * 2.intent.putExtra(key,对象); * 3.(User)intent.getSerializableExtra("user"); * */ /*传递Bundle * 1.创建一个Bundle类 * 2.bundle.put对应类型(String,对应类型); * 3.intent.putExtra(name,bundle); * 4.intent.getBundleExtra("hehe"); * 5.bundle.get对应类型(name); * */
显式意图和隐式意图
/* 1.在manifest中创建对应的data属性 * 2.litent.setDataAndType(uri,type); * uri = Uri.parse(网址); * type="类型/类型" * * 3.intent.setData(uri); * intent.setType("text/html"); * 结果不正常 * * 作用:用于启动其他应用 * * 选择:只启用本身应用就显示 * 想启动其他应用就隐士 * */ private void init3() { Intent intent = new Intent(); Uri uri = Uri.parse("https://www.520it.com:8080/android/test"); intent.setDataAndType(uri, "text/html"); startActivity(intent); } /* * 显式启动:在启动的过程中知道要启动的对象 * 隐式启动: * 1.调用intent的无参构造器 * 2.给intent设置动作的条件 * 1.intent的setAction("condition"); * 3.在androidmanifest中给对应的activity设置intent-filter /action/cate * 注意只要配置了一个action就必须配置一个categorydefault * 存在两个符合条件的会弹出选择框 * 不存在符合条件的会报出异常 * 4.可以设置category筛选,可以有多个 * intent.addCategory(); */ private void init() { Intent intent = new Intent(); intent.setAction("condition"); startActivity(intent); }
获取页面的返回值
/*打开一个新界面,并获取新界面的返回值 * 1.startActivityforresult(); * 2.在页面中返回返回值 * serResult(code,intent); * intent.putExtra(key,value); * 3.切记一定要在返回结束后 finish();>>关闭当前页面 * 4.获取新页面的返回值,实现onactivityResult(); * */ public void sexy(View v){ Intent intent = new Intent(this,Sexy_Activity.class); startActivityForResult(intent, CHOOSE_SEXY); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (data!=null) { if (requestCode==CHOOSE_ICON) { int id = data.getIntExtra("icon", R.drawable.ic_launcher); Log.v("meeeeeee", "s"+id); iv.setImageResource(id); } else if (requestCode==CHOOSE_SEXY) { String sexy = data.getStringExtra("sexy"); tv.setText(sexy); } } super.onActivityResult(requestCode, resultCode, data); }
SharePreference
/*事务的特点:循环时只要有一个步骤失败了,那么所有的步骤都不会成功:事务的回滚 * 1.获取sharepreference * getSharePreference(key,mode); * 2.获取编辑器 * sp.edit(); * 3.存数据 * edit.putXxx(); * 4.编辑器提交数据 * edit.commit(); * * 1.获取sp * 2.获取keyvalue * sp.getXxx(Key) * */ @Override protected void onDestroy() { super.onDestroy(); Log.v("meeeeeee", "销毁"); String content =mContent.getText().toString(); if(!TextUtils.isEmpty(content)){ SharedPreferences sp = getSharedPreferences("name", MODE_PRIVATE); Editor edit = sp.edit(); edit.putString("key", content); edit.commit(); } }
Activity的生命周期
/*Activity的生命周期 * 1.oncreat()创建 * 2.onstart()显示 * 3.onresume()获得焦点 * 4.onpause()失去焦点 * 5.onstop()关闭页面 * 6.ondestroy()销毁 * */ /*异常状态下Activity的生命周期 * onDestory之前>>onSaveInstanceState * onCreate * onStart * onRestoreInstaceState * */
横竖屏切换
/*ctrl+f11横竖屏切换 * 1.横竖屏切换的时候会重新调用声明周期 * 1.强制不重新调用生命周期 * 在androidmanifest中activity中 * 添加configchanges属性orientation * 2.横竖屏的模式 * 1.强制 * 在androidmanifest中activity中 * 添加screenorientation属性 * landscape横屏 portrait竖屏 * 2.自动根据屏幕切换 * */
接收打入电话的广播
/*创建一个广播接收者:应用不需要运行,只要有电话打进来,该方法就会被调用, * 1.创建一个类继承于BroadcastReceiver,重写onreceiver * 2.在manifest中注册 * 3.在manifest中指定创建intent-filter * name:NEW_OUTGOING_CALL * 4.配置使用权限process_outgoing_call * */ 配置权限和注册广播: <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> <receiver android:name="com.example.PhoneReceiver" > <intent-filter> <action android:name="android.intent.action.NEW_OUTGOING_CALL"/> </intent-filter> </receiver>
SD安装事件的广播接收者
public class SdCardReceiver extends BroadcastReceiver { /*在创建广播接收者的基础上 * 1.在intentfilter中添加<data android:scheme="file"/> * 2.判断安装还是卸载了 * 1.自定义的action名称 * 2.系统确定的action名称 * */ @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals("android.intent.action.MEDIA_MOUNTED")) {// 安装时候的动作 }else if (action.equals(Intent.ACTION_MEDIA_UNMOUNTED)) {// 卸载的时候的动作 Log.v("meeeeeee", "已卸载"); } }}注册: <receiver android:name="com.example.SdCardReceiver"> <intent-filter > <action android:name="android.intent.action.MEDIA_MOUNTED"/> <action android:name="android.intent.action.MEDIA_UNMOUNTED"/> <data android:scheme="file"/> </intent-filter> </receiver>
阅读全文
0 0
- Android基础_软件的国际化 Acitivity(七)
- android学习笔记---48_实现软件国际化,实现文字国际化,和图片国际化
- Android 开发之软件的国际化
- Android软件实现国际化
- Android 是怎么启动一个Acitivity的?
- android Acitivity之间的数据传递
- Android 监听各个Acitivity的生命周期
- Android复习-Acitivity的启动模式
- android基础--国际化
- 软件国际化的重要性
- 国际化软件的基本要求
- 软件国际化的思考
- 软件的国际化
- 【国际化】Android包的国际化
- 软件的国际化、Jstl国际化标签
- Java基础<七>_多线程
- python基础七_模块
- Android学习记录:Acitivity
- github使用笔记
- Java数据结构和算法(一)--顺序表、链表、静态链表
- 动态规划之背包问题01——Java实现
- 数字验证码
- JS核心
- Android基础_软件的国际化 Acitivity(七)
- 重载赋值运算符
- Poj3070 Fibonacci (矩阵快速幂)
- 在CentOS7上部署OpenStack 步骤详解
- BZOJ.1036 [ZJOI2008]树的统计Count ( 点权树链剖分 线段树维护和与最值)
- UVA1635IrrelevantElement
- Scala基础入门(七)方法、类、对象详解
- LeetCode(三)HashMap169. Majority Element&350. Intersection of Two Arrays II
- tensorflow将训练好的模型freeze,即将权重固化到图里面,并使用该模型进行预测