您的位置:首页 > 移动开发 > Android开发

Android开发笔记(一)

2016-05-21 21:05 429 查看
java没有多少基础,学过面向对象 ,但是基本上都忘记了,现在开始学习Android,将自己出现的一些错误以及问题写出来,以后自己看和大家一起学习。小白一只,有错误希望大家指出来,这样才能成长嘛(可爱脸)!

2016年5月18日18:22:00

1、当 android:orientation=”vertical” 时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。

2、当 android:orientation=”horizontal” 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。

2016年5月19日14:30:54

1、在文本框中显示背景提示文字(Edit a Message),在activity_main.xml里面里面写上
android:hint="@string/edit_message"/>
,然后在string.xml里面初始相应的值
<string name="edit_message">Enter a Message</string>


2、如果在res目录下面没有menu目录,可以新建一个,但是新建的xml文件总会选择为Values还是Layout的,无法保证建立的xml在menu目录下面

方法:建立好menu文件后,右键menu目录建立一个menu resource file文件,命名即可。

2016年5月20日22:01:40

打开android studio后,在Android monitor中总是显示“No Debuggable Applications”

解决方法:进入 android studio , 依次选择
Tools-> Android -> Enable ADB Integration
. 然后就不会出现“No Debuggable Applications”的提示了

2016年5月21日18:19:49

使用隐示Intent时候出现这样的错误:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.example.chencong.activitytestintent.ACTION_START cat=[com.example.chencong.activitytestintent.MY_CATEGORY] }


错误信息提示,没有任何一个活动可以响应我们的Intent。

原因:在Intent中新增了一个category,而SecondActivity的
<intent-filter>
标签中并没有声明可以响应这个category,所以就会出现没有任何活动可以响应该Intent的情况。

解决方法:在AndroidManifest.xml的
<intent-filter>
中添加一个category的声明。

<category android:name="com.example.chencong.activitytestintent.MY_CATEGORY"/>


下面为
<activity>
中代码:

<activity android:name=".ThirdActivity">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="tel"/>
</intent-filter>
</activity>


2016年5月21日19:47:25

使用Intent传递参数时,程序能够执行成功但是在接受参数的活动页面没有显示参数。

接受页面(SecondActivity)的onCreate()方法:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_layout);
/*从Intent中取值*/
Intent intent=getIntent();
String date=intent.getStringExtra("extra_data");
Log.d("SecondActivity",date); /*在日志中打印*/
}


修改之后的onCreate()方法,创建一个TextView来显示参数:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second_layout);
/*从Intent中取值*/
Intent intent=getIntent();
String date=intent.getStringExtra("extra_data");

// Create the text view
TextView textView = new TextView(this);
textView.setTextSize(20);
textView.setText(date);
setContentView(textView);
Log.d("SecondActivity",date); /*在日志中打印*/
}


向上面那样将代码修改后就好了。正确执行,并且能够显示参数了。

顺带说一下传递参数的活动的onCreate()方法的书写,使用显示Intent传递参数:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.first_layout);

Button button=(Button)findViewById(R.id.button_1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
/*显示点击了这个按钮,可以不要*/
Toast.makeText(FirstActivity.this,"传递参数中...",Toast.LENGTH_SHORT).show();

String data="hello SecondActivity";
Intent intent=new Intent(FirstActivity.this,SecondActivity.class);
intent.putExtra("extra_data",data);
startActivity(intent);
}
});
}


2016年5月21日20:56:23

小白一只,菜鸟一个,但是我有个愿望:

我挥舞着键盘和本子,
发誓要把世界写个明明白白。
——《第一行代码Android·郭霖》


学习Android第
3
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: