Android_开发片段(Part 2)
1.List和Map知识:
1)如何定义
1 List<Map<String,Object>> list=new ArrayList<Map<String,Object>>(); 2 Map<String,Object> map=new HashMap<String, Object>();
2)如何添加内容
1 map.put("heh", “数据”); 2 list.add(map);
3)如何取得String[]d ,Map,和List的长度
1 List<Map<String,Object>> list=new ArrayList<Map<String,Object>>(); 2 Map<String,Object> map=new HashMap<String, Object>(); 3 String[] data={"1","2","3"}; 4 map.put("heh", data); 5 list.add(map); 6 7 int long2=list.size(); 8 int long3=map.size(); 9 int long1=data.length;
2.如何使用java代码得到一张图片:
1 //创建图片视图对象 2 ImageView imageView= new ImageView(getApplicationContext()); 3 //设置图片 4 imageView.setImageResource(R.drawable.ic_launcher);
注:得到图片的方法:getResource(R.drawable.pi);
3.在xml中为linearLayout设置排列方式
1 android:orientation="vertical"//垂直排列 2 android:orientation="horizontal"//水平排列
4.java代码中如何设置排列方式:
1 linearLayout.setOrientation(LinearLayout.HORIZONTAL); //设置水平排列
5.新建完activity之后一定要在AndroidManifest.xml中注册!!
6.设置activity的屏幕方向:
1 <activity 2 android:name=".SketchpadActivity" 3 android:screenOrientation="landscape" //activity总是横屏显示 4 android:screenOrientation="portrait" //activity总是横屏显示 5 android:screenOrientation="user" //用户当前的首选方向 6 />
注意:1)本设置存在于在Manifest.xml添加注册acitity时
2)landscape:横屏(风景照) ,显示时宽度大于高度;
3) portrait:竖屏 (肖像照) ,显示时高度大于宽度;
4) user:用户当前的首选方向。
7.多activity跳转的时候:
1)当view1跳转到view2时,正常来说不会将view1关掉,仍然存在,只不过没在最上层。
2)当view2跳转到view3时,正常来说不会将view2关掉,仍然存在,只不过没在最上层。
8.eclipse里面使用 Ctrl+Shif+o会自动补全引用类(import)
9.使用Toast的时候,不要忘记在最后写上 .show()方法,Toast才能出现!!
11.在EditText中,设置:
android:hint="隐藏字体"
12.程序最后进行打包生成apk时,res文件夹中的文件只有用到的时候才会打包进去,而assets文件夹中的文件无论是否用到都要打包进去
13.
android:singleLine属性为true表示文本在一行显示
android:ellipsize属性:设置当文本过长时该如何显示(显示省略号)start、end、middle分别设置省略号的位置,marquee表示以跑马灯的形式展示
android:autoLink=“web/email/phone/all”设置超链
android:focusable=“true/false”是否可以获取焦点
ndroid:focusableInTouchMode="true" 在触摸的模式下获得焦点
14.
EditText设置的时候, 默认是要聚焦的(处于选中状态),解决方法: 在前面设置一个解决方法是在它前面添加一个edittext控件,宽和高设为0dip
<EditText android:layout_width="0dip" android:layout_height="0dip"/>
注:会解决很多问题,比如EditText会自动弹出输入框等问题
15.
android:maxLength="3"属性限制字符数量,
android:singleLine="false"使其变为多行文本框
android:inputType="number"设置输入类型
android:hint="13525505014"设置默认显示信息
16.当遇到跳转到一个界面时,EditText处于选中状态,并且自动弹出键盘栏时,
解决方法:
一、可以在onCreate()方法里设置:
// 设置键盘不会自动弹出 yxgs getWindow().setSoftInputMode( WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
将键盘隐藏掉!
二、第15条的说法,直接将EditText的焦点转移即可!!!(推荐)
17、
onCreate方法的完整定义如下: public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); }
从上面的代码可以看出,onCreate方法的参数是一个Bundle类型的参数。Bundle类型的数据与Map类型的数据相似,都是以key-value的形式存储数据的。
18、将其他类型转化成String类型(前提是可以实现转化),很简单的方式:
Int a=5;
String b;
b=a+"";
注意:重点在后面加的"",加个空的字符串即可!!
19、实现多个多个button绑定一个Onclick 事件:
例1:
1 Button btn = (Button) findViewById(R.id.mybutton); 2 Button btn2 = (Button) findViewById(R.id.mybutton2); 3 btn.setOnClickListener(handler); 4 btn2.setOnClickListener(handler); 5 View.OnClickListener handler = View.OnClickListener() { 6 public void onClick(View v) { 7 switch (v.getId()) { 8 case R.id.mybutton: 9 //do something 10 break; 11 case R.id.mybutton2: 12 //do something 13 break; 14 } 15 }
例2:
1 private Button btnLeft; 2 private Button btnRight; 3 View.OnClickListener cl; 4 5 btnLeft = (Button) findViewById(R.id.queren_btnLeft); 6 btnRight = (Button) findViewById(R.id.queren_btnRight); 7 8 cl = new Button.OnClickListener() { 9 @Override 10 public void onClick(View v) { 11 // TODO Auto-generated method stub 12 switch (v.getId()) { 13 case R.id.queren_btnLeft: 14 //点击时发生的事情 15 break; 16 17 case R.id.queren_btnRight: 18 //点击时发生的事情 19 20 break; 21 } 22 } 23 24 };
20、LogCat:Android日志信息的标签及其优先级:
优先级有下列集中,是按照从低到高顺利排列的:
V — Verbose (lowest priority)
D — Debug
I — Info
W — Warning
E — Error
F — Fatal
S — Silent (highest priority, on which nothing is ever printed)无log打印