当前位置: 编程技术>移动开发
本页文章导读:
▪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
最新技术文章: