当前位置: 编程技术>移动开发
本页文章导读:
▪list跟set集合的遍历 list和set集合的遍历
package cn.itcast.map.and.list.set;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
public class TestList {
public static void main(String[] arg.........
▪ 创造阳光卡屏 创建阳光卡屏
点击“光大银行”ListItem,进入一个屏,该屏显示银行卡的账户、余额、公告,并提供充值、消费和交易明细等操作。
屏幕的布局代码中xml文件中定义:
整屏主要由3部分组.........
▪ 施用SharedPreferences进行数据存储 使用SharedPreferences进行数据存储
很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友。对于软件配置参数的保存.........
[1]list跟set集合的遍历
来源: 互联网 发布时间: 2014-02-18
list和set集合的遍历
package cn.itcast.map.and.list.set;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
public class TestList {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("qaz");
list.add("wsx");
list.add("edc");
//第一种方式:for循环 ,遍历List集合里的内容 只对List有效因为List是有序的集合
for(int i=0;i<list.size();i++){
System.out.println("list="+list.get(i));
}
//第二种方式:iterator迭代器,迭代器方式 弱点是只能从头到尾 兼容性最好适合于Collection集合
Iterator<String> iterable = list.iterator();
while(iterable.hasNext()){
System.out.println("list----->"+iterable.next());
}
//第三种方式:for each,for each 方式本质还是迭代器 每循环一次放的就是当前对象的地址 适合List Set Map
//只能在JK1.5以上使用 兼容性不好 Set最好用这种
for(String s : list){
System.out.println("list-----="+s);
}
//遍历Set集合和List的方式一样 不过不能使用for 循环来遍历Set集合 因为Set集合中没有get()方法,
//但是可以用增强for循环
//遍历Set集合
Set<String> set = new HashSet<String>();
set.add("qqq");
set.add("www");
set.add("eee");
set.add("rrr");
for(String s : set){
System.out.println("set="+s);
}
}
}
[2] 创造阳光卡屏
来源: 互联网 发布时间: 2014-02-18
创建阳光卡屏
点击“光大银行”ListItem,进入一个屏,该屏显示银行卡的账户、余额、公告,并提供充值、消费和交易明细等操作。
屏幕的布局代码中xml文件中定义:
整屏主要由3部分组成
(1)账号是2个column构成的TableLayout。
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="1" > <TableRow> <TextView android:layout_column="1" android:text="账号" android:padding="3dip" /> <TextView android:layout_column="1" android:text="1265 4083 7112 6540 8371" android:padding="3dip" /> </TableRow> </TableLayout>
(2)余额由3个colun组成的Table布局。
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="1" > <TableRow> <TextView android:layout_column="1" android:text="余额" android:padding="3dip" /> <TextView android:layout_column="1" android:text="100.00" android:padding="3dip" android:gravity="right" /> <TextView android:layout_column="1" android:text="元" android:padding="3dip" /> </TableRow> <View android:layout_height="10dip" android:background="#909090"/> </TableLayout>
在余额下方有个View是10像素。
(3)最下是个WebView,用于展现html内容:
<WebView android:id="@+id/webview_notice" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_weight="1" />
整个xml文件的布局是LinerLayout:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> ... </LinearLayout>
WebView的内容定义在EBActivity.java文件中:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.ebbank);
mWebView = (WebView) findViewById(R.id.webview_notice);
//mWebView.loadUrl("http://www.baidu.com");
mWebView.loadData(fmtString(notice1), "text/html", "utf-8");
// String summary = "<html><body>You scored <b>192</b> points.</body></html>";
// mWebView.loadData(summary, "text/html", "utf-8");
}
private String fmtString(String str){
String notice = "";
try{
notice = URLEncoder.encode(str, "utf-8");
}catch(UnsupportedEncodingException ex){
}
return notice;
}
private String notice1 = "<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'/></head>"
+ "<body><p align='center'><b>关于关闭电话银行语音系统查询动态密码功能的公告</b></p>"
+ "<p align='center'>发布日期:2011-04-25</p>"
+ "尊敬的客户:"
+ "<br>根据优化电话银行相关服务功能的整体安排,我行决定自4月25日起,在95595电话银行语音系统中,停止受理查询手机动态密码功能。给您带来的不便之处敬请谅解。如有问题,请致电我行24小时服务热线95595。"
+ "<br>感谢您长期以来对我行的关注、支持与厚爱!"
+ "<br>特此公告。"
+ "<br>中国光大银行"
+ "<br>2011年4月25日</body></html>";
菜单也定义在EBActivity.java文件中:
private static final int MENU_CREDIT = Menu.FIRST;
private static final int MENU_DEBIT = Menu.FIRST + 1;
private static final int MENU_DETAIL = Menu.FIRST + 2;
private static final int MENU_FRESH = Menu.FIRST + 3;
private static final int MENU_EXIT = Menu.FIRST + 4;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add(0, EBActivity.MENU_CREDIT, 0, "充值").setIcon(
android.R.drawable.ic_menu_more);
menu.add(0, EBActivity.MENU_DEBIT, 0, "消费").setIcon(
android.R.drawable.ic_menu_more);
menu.add(0, EBActivity.MENU_DETAIL, 0, "交易明细").setIcon(
android.R.drawable.ic_menu_more);
return true;
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch (item.getItemId()) {
case MENU_CREDIT:
return true;
}
return super.onMenuItemSelected(featureId, item);
}
[3] 施用SharedPreferences进行数据存储
来源: 互联网 发布时间: 2014-02-18
使用SharedPreferences进行数据存储
很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友。对于软件配置参数的保存,如果是window软件通常我们会采用ini文件进行保存,如果是j2se应用,我们会采用properties属性文件或者xml进行保存。如果是Android应用,我们最适合采用什么方式保存软件配置参数呢?Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下:
SharedPreferences sharedPreferences = getSharedPreferences("itcast", Context.MODE_PRIVATE);
Editor editor = sharedPreferences.edit();//获取编辑器
editor.putString("name", "传智播客");
editor.putInt("age", 4);
editor.commit();//提交修改
生成的itcast.xml文件内容如下:<?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <string name="name">传智播客</string> <int name="age" value="4" /> </map>
因为SharedPreferences背后是使用xml文件保存数据,getSharedPreferences(name,mode)方法的第一个参数用于指定该文件的名称,名称不用带后缀,后缀会由Android自动加上。方法的第二个参数指定文件的操作模式,共有四种操作模式,这四种模式前面介绍使用文件方式保存数据时已经讲解过。如果希望SharedPreferences背后使用的xml文件能被其他应用读和写,可以指定Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE权限。
另外Activity还提供了另一个getPreferences(mode)方法操作SharedPreferences,这个方法默认使用当前类不带包名的类名作为文件的名称。
l
SharedPreferences sharedPreferences = getSharedPreferences("itcast", Context.MODE_PRIVATE);
//getString()第二个参数为缺省值,如果preference中不存在该key,将返回缺省值
String name = sharedPreferences.getString("name", "");
int age = sharedPreferences.getInt("age", 1);
l
getSharedPreferences("itcast", Context.MODE_WORLD_READABLE);
l
Context otherAppsContext = createPackageContext("cn.itcast.action", Context.CONTEXT_IGNORE_SECURITY);
SharedPreferences sharedPreferences = otherAppsContext.getSharedPreferences("itcast", Context.MODE_WORLD_READABLE);
String name = sharedPreferences.getString("name", "");
int age = sharedPreferences.getInt("age", 0);
如果不通过创建Context访问其他应用的preference,可以以读取xml文件方式直接访问其他应用preference对应的xml文件,如:
File xmlFile = new File(“/data/data/<packagename>/shared_prefs/itcast.xml”);//<package name>6
最新技术文章: