eclipse 中快捷键 http://www.blogjava.net/action/articles/17339.html
1:获取数据:
Bundle bundle = this.getIntent().getExtras();
String name = bundle.getString("name“);
int age = bundle.getInt("age");
2:android布局中的include
在一个项目中我们可能会需要用到相同的布局设计,如果都写在一个xml文件中,代码显得很冗余,并且可读性也很差,所以我们可以把相同布局的代码单独写成一个模块,然后用到的时候可以通过<include /> 标签来重用layout代码。
layout中:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<include
android:id="@id/layout_sharehead1"
layout="@layout/sharehead1" />//获取写好的布局。
</RelativeLayout>
3.CharSequence用法
CharSequence[] items = { "相册", "相机" };
CharSequence 在初始化的时候已经写死了他的长度,他的初始化方式值有这一种。items中的数据只可以替换,但是不可以增加。(删除还没试,估计删除了的话那个位置会存放空值)
items[] 中存放的数据是String类型的。
items[0] = "aaaaa";这样可以替换这个位置的数据。
Dialog中有一个.setItems(items, new DialogInterface.OnClickListener() {});方法这里的items就是CharSequence类型的数据。
4.在manifest.xml中设置android:windowSoftInputMode="stateHidden" ,使edittext需要显示的手机软键盘不会自动跳出来。只有在点击edittext的时候才会出现
5.android webView使用方法
一个WebView的简单例子 。
在开发过程中应该注意几点:
.AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误。
.如果访问的页面中有Javascript,则webview必须设置支持Javascript。webview.getSettings().setJavaScriptEnabled(true);
.如果页面中链接,如果希望点击链接继续在当前browser中响应,而不是新开Android的系统browser中响应该链接,必须覆盖 webview的WebViewClient对象。
private WebViewClient webViewClient = new WebViewClient(){
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
progressBar.setVisibility(View.GONE);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
progressBar.setVisibility(View.VISIBLE);
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
progressBar.setVisibility(View.GONE);
Toast.makeText(AnnounceWebViewActivity.this, "onReceivedError", Toast.LENGTH_SHORT).show();
}
};
6.android软键盘的收起与展开
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);
/**
* 收起软键盘并设置提示文字
*/
public void collapseSoftInputMethod(){
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(inputText.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
}
/**
* 显示软键盘并设置提示文字
*/
public void showSoftInputMethod(CommentItem item){
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(inputText, InputMethodManager.SHOW_IMPLICIT);
7.使EditText获得焦点,超好用的
EditText.requestFoucus();
EditText.requestFoucus(r.id.et);
8.全角/半角
只有在中文输入法中,才会分全角和半角。全角是整个一个圆,半角是一个月牙形。在编程时可以用来适配距离。使得格式整齐。我们一般用的都是半角
9. 将显示在textview上的文字显示两种颜色。
1‘ <string name="expert2"><Data><![CDATA[ <font color="#008800">专家</font><font color="#000000"><br>门诊</font> ]]></Data></string>
<br>表示换行
在activity中调用的时候,Spanned ONCALL_SHOW=Html.fromHtml(getResources().getString(R.string.expert2));//这个是一个字符串。可以直接textview.settext(ONCALL_SHOW);
2’ String detail = "照片说明 点击输入照片说明";
SpannableString style = new SpannableString(detail);
style.setSpan(new ForegroundColorSpan(Color.BLACK), 0, 4,
Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
style.setSpan(new AbsoluteSizeSpan(32), 0, 4,
Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
et_photoExplain.setHint(style);
10.dialog.setCanceledOnTouchOutside(false);为dialog设置此属性时,在弹出dialog后点击除了dialog外的位置,dialog不会消失。此句话写在dialog.show()之前
dialog.setCancelable(false);设置此属性,可以使dialog弹出后点击系统的回退键,dialog不会消失,
11.private void uploadFile(String... imageUrl) {}
String... imageUrl表示可以接受String类型的参数,不限个数
12.<meta http-equiv="content-type"content="text/html;charset=gb18030">
意思是告诉浏览器页面(content-type)格式(为text/html)和用什么编码(gb18030)解析
gb18030就是中文编码的一种 ,中文编码有很多,最常用的GB2313、GBK、BIG-5 (繁体中文)等等
13.将一个uri地址转换为url地址
private String changeUri(Uri uri) {
String image_url;
String[] url = { MediaStore.Images.Media.DATA };
if (uri.toString().substring(0, 4).equals("file")) {
image_url = uri.toString().substring(7);
} else {
Cursor cursor = this.managedQuery(uri, url, null, null, null);
int index = cursor
.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
image_url = cursor.getString(index);
// 4.0以上的版本会自动关闭
if (Integer.parseInt(Build.VERSION.SDK) < 14) {
cursor.close();
}
}
return image_url;
}
14.String 与 int 相互转换
int ss = Integer.parseInt("22");
String dd = String.valueOf(ss);
15.设置控件或者是布局(layout)不可见
LinearLayout ll = (LinearLayout)findviewbyid(r.id.aa);
ll.setVisibility(View.Gone);
可见:visible;
16.数组在初始化的时候必须设定大小。不可以像list一样,长度可变。
数组初始化:String[] aa = new String[5];固定长度
17.电脑自动死机,并且重启时提示清理碎片,证明电脑中的碎片过多。
清理电脑的磁盘碎片,运用windows自带的程序:开始->程序->附件->系统工具->磁盘碎片整理程序。
18.string.split("-");利用“-”拆分字符串
19.android:layout_gravity 和 android:gravity 的区别
android:gravity是对控件本身说的,控件里的内容位置的设置,不设置默认是在左侧的。
android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置。
20.TextView的文本设置 加粗:
1.xml文件中:android:textStyle=“bold”;
2.在activity中设置: textView.getPaint.setFakeBoldText(true);
21.RadioGroup设置水平放置的:xml文件中:android:orientation = “horizontal”;
22.所有控件都有的setVisibility功能:
setVisibility(i);
当 i = 0 时为 visible(可见的);
当 i = 4 时为 invisible(不可见的,但是还是占有位置,按钮之类的也不能进行点击事件等);
当 i = 4 时为 gone(不可见的,在视图中完全看不到该控件);
23.eclipse中工程前有个大红色的感叹号:
工程目录下会生成一个.classpath配置文件,里面是你工程里面引用的jar的配置,出叹号是因为.classpath文件配置引用了某个jar包,但实际上你的lib里并没有这个jar包,所以才会有红色的提示。
解决:右键工程->properties->BuildPath->configureBuilpath.......(可以把之前的删掉重新加载,然后重新clean工程等根据自己情况而定)
24.eclipse的Alt+“/”不能使用时
解决:1.window->preferences->General->keys内
把word completion的快捷键设置 alt+c
把content Assist的快捷键由ctrl+space 改成 alt+"/"
2.window->perferences->Java->editor->contentAssist->advanced havaProsals 打 “√”
25.虚拟机报错:
1.安装工程到虚拟机上出现Timeout/the user data image is used
解决:删除C:\Documents and settings \Andministrator\android\avd\对应版本.avd下所有以.lock结尾的文件夹
原因:由于模拟器已经开启而乜有关闭过非法关闭引起的
2出现timeout Launch Canceled
解决:window->preferences->android->DDMS->ADB connection time out (ms) 把5000值弄大到 5000000,然后重新加载工程(project->clean)
26.eclipse出乱码:
解决:windows->preference->General->workSpace 选择 UTF_8 window