Android开发笔记(一)

来源:互联网 发布:树莓派能做什么 知乎 编辑:程序博客网 时间:2024/05/20 02:27

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

0 0
原创粉丝点击