Android基础知识学习记录
2016-01-27 10:35
691 查看
Android基础知识学习记录
Android开发环境部署基础知识
Android基础知识学习记录
基本控件使用
如何在Java中使用控件对象
常用控件的属性
控件的点击事件
Spinner的使用
ListView的使用
常用的布局
线性布局LinearLayout
相对布局RelativeLayout
表格布局TableLayout
如何实现一行的布局按给定的比例布局
切换Activity
如何在两个Activity之间传递数据
其他
基本控件使用
如何在Java中使用控件对象
实例化控件类型的对象private TextView tv;
初始化对象
tv=(TextView)findViewById(R.id.tv);
使用控件
tv.setText(“密码”);
常用控件的属性
RadioButton&CheckBoxandroid:checked=”” true为选中,false为未选中
定义在RadioGroup中的RadioButton为单选
点击事件sexgroup.setOnCheckedChangeListener()
TextView
android:gravity=”center” 显示字体居中
android:textSize=”32sp”
android:textStyle=”bold”
android:padding=”3dip” 距离
其他
v.setAlpha(0.5f) 设置控件的透明度(0为不显示,1为显示)
控件的点击事件
Button点击事件匿名内部类格式
需要导入方法和包
Button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub tv1.setText("密码"); imgbt.setImageResource(R.drawable.nuroto); } });
Button长按事件
return true:长按事件和点击事件不冲突
bt2.setOnLongClickListener(new OnLongClickListener() { @Override public boolean onLongClick(View v) { // TODO Auto-generated method stub bt2.setText("长按结束"); return true; } });
Spinner的使用
定义Spinner在Java文件中初始化Spinner
新建一个List
定义一个新的适配器
将适配器和控件绑定
添加点击事件spinner1.setOnItemSelectedListener()
spinner1=(Spinner)findViewById(R.id.spinner1); final List<String> list=new ArrayList<String>(); //可以在方法中找到列表的值 list.add("shanghai"); list.add("shenyang"); list.add("shandong"); ArrayAdapter<String>adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list); //定义适配器(类,适配器格式,所使用的list) adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //下拉格式 spinner1.setAdapter(adapter); spinner1.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub history=""+list.get(arg2); } //没有选择的时候 public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } });
ListView的使用
定义一个ListView控件初始化控件对象
定义一个适配器的list
List<String> list=new ArrayList<String>()
定义一个适配器
定义一个点击事件listview.setOnItemClickListener()
点击事件参数
arg0 适配器控件
arg1 适配器内部的控件
arg2 适配器内部的控件的子项位置
arg3 子项的行号
lv1=(ListView)findViewById(R.id.listView1); final List<String> llist=new ArrayList<String>(); llist.add("first"); llist.add("second"); llist.add("third"); llist.add("forth"); llist.add("fifth"); llist.add("sixth"); ArrayAdapter<String>adapter2=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,llist); lv1.setAdapter(adapter2); //区别按钮的Onclick事件 lv1.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub tv1.setText(String.valueOf(arg2)+String.valueOf(arg3)+llist.get(arg2)); } });
常用的布局
布局可以相互嵌套线性布局LinearLayout
android:orientation=”horizontal/vertical”相对布局RelativeLayout
android:layout_toLeftOf=”@+id/relativepositonid”android:layout_above=”@+id/relativepositonid”
android:layout_aligntop=”@+id/relativepositonid”
android:layout_alignParentLeft=”true”
android:layout_marginLeft=”10dip”
android:paddingLeft=”10dip”
表格布局TableLayout
如何实现一行的布局按给定的比例布局
<TableRow android:id="@+id/tablerow2" android:layout_width="wrap_content" android:layout_height="wrap_content" > <Button android:id="@+id/bt1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="2" /> <Button android:id="@+id/bt2" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" /> </TableRow>
切换Activity
新建一个其他的Activity在AndroidManifest.xml中注册
以主Activity注册(安装时会出现两个图标)
不以主Activity注册
<activity android:name=".MainActivity" android:label="@string/app_name" > /* <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>*/ </activity>
利用intent机制跳转窗口
Intent intent=new Intent(MainActivity.this,ToStartActivity.class);
startActivity(intent);
如何在两个Activity之间传递数据
方法一(数据较少时,且类型为String):intent.putExtra(“flag”,”log”);方法二(数据较多时,且数据类型不单一):
1. 初始化一个Bundle对象
2. 插入数据
3. 将Bundle与intent关联
intent intent=new Intent(MainActivity.this,ResultActivity.class); Bundle bundle = new Bundle(); bundle.putString("name",String.valueOf(item1.getText())); bundle.putString("history", String.valueOf(history)); intent.putExtras(bundle); //关联intent startActivityForResult(intent,RESULT_CODE);
如何获取数据
Intent intent = this.getIntent();
var str=intent.getStringExtra(“name”);
setReslut(Result,Intent);
如何在主Activity中根据返回值做出响应
requestCode 确定是哪个intent
resultCode 由setResut确定的返回值
类型为protected void
protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 10) { if (resultCode ==6) { Toast.makeText(MainActivity.this, "这是从ReceiveActivity类回来的响应", Toast.LENGTH_LONG).show(); } else{Toast.makeText(MainActivity.this, "不是", Toast.LENGTH_LONG).show();} } }
其他
xmlns是XML Namespaces的缩写,中文名称是XML(标准通用标记语言的子集)命名空间。dip: device independent pixels
sp: scaled pixels(放大像素). 主要用于字体显示best for textsize
int–>String String.valueOf
在布局文件中所使用的字符串都需要存在String.xml中
其中app_name为apk安装后所显示的名字
static String history,sex; 定义一个类的全局变量
退出程序System.exit(0);
Activity.finish():当动作完成时退出Activity
Toast.LENGTH_LONG(3.5秒)和Toast.LENGTH_SHORT(2秒)
连接不上手机设备时,在dos中更改路径到platform-tools
adb.exe kill-server
adb.exe start-server
常用快捷键
shift+ctrl+o 导入包
Ctrl+mouseleft 跳转到所在位置
onc导入onclick()的方法
相关文章推荐
- Android实现表情 抓取新浪表情
- 详解Android解析Xml的三种方式——DOM、SAX以及XMLpull
- flex 控件的重要属性
- Delphi控件ListView的属性及使用方法详解
- web下载的ActiveX控件自动更新
- WinForm实现按名称递归查找控件的方法
- C#中父窗口和子窗口之间控件互操作实例
- Android编程之Button控件用法实例分析
- Android控件之CheckBox、RadioButton用法实例分析
- MFC中动态创建控件以及事件响应实现方法
- WinForm自定义函数FindControl实现按名称查找控件
- Android控件之ProgressBar用法实例分析
- WinForm拖拽控件生成副本的解决方法
- ASP.NET动态添加用户控件的方法
- ASP.NET的HtmlForm控件学习及Post与Get的区别概述
- WinForm实现移除控件某个事件的方法
- C#分屏控件用法实例
- 可以浮动某个物体的jquery控件用法实例
- jQuery操作基本控件方法实例分析
- jQuery操作表单常用控件方法小结