博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android学习笔记•从零开始•第一天•基本知识
阅读量:2427 次
发布时间:2019-05-10

本文共 4451 字,大约阅读时间需要 14 分钟。

          转载请注明出处 

    开始着手Android。和大多数初用Eclipse的人一样,有些手忙脚乱。

    之前看Cocos2d时零星的看过;Cocos2d后来也被耽搁下来了;关于Cocos2d,日后更新笔记。

    现做下Android学习笔记,记录点滴。

        -->点击进入

        -->学习资料和源码

    加油!

    ●1 绑定的SDK工具包

    ●2 Application Name:安装后显示名称;Project Name:项目名称(通常不加空格);Package Name:包名(如com.cleopard.testhello)。

    ●3 Window→Open Perspective→DDMS;开发Android时需要的工具,目前可以查看Devices窗口中想看的设备状态(掉线,可用Reset adb重置)。

    ●4 assets文件夹,程序运行时可以动态读取这些内容;或WebView加载本地网页存放。

    ●5 Android不推荐在程序里对字符串进行硬编码,更好的做法一般是把字符串定义在res/values/strings.xml里,然后可以在布局文件或代码中引用

        1.在代码中,通过R.string.hello_world引用。

        2.在XML中,通过@string/hello_world引用。

    ●6 日志工具LogCat

        添加LogCat到Eclipse:Window ->ShowView ->Other(展开Android)

        1.Log.v()

        这个方法用于打印那些最为琐碎的,意义最小的日志信息。对应级别 verbose,是Android日志里面级别最低的一种。

        2.Log.d()

        这个方法用于打印一些调试信息, 这些信息对你调试程序和分析问题应该是有帮助的。对应级别 debug,比 verbose高一级。

        3.Log.i()

        这个方法用于打印一些比较重要的数据,这些数据应该是你非常想看到的,可以帮你分析用户行为的那种。对应级别 info,比 debug高一级。

        4.Log.w()

        这个方法用于打印一些警告信息,提示程序在这个地方可能会有潜在的风险,最好去修复一下这些出现警告的地方。对应级别 warn,比 info高一级。

        5.Log.e()

        这个方法用于打印程序中的错误信息,比如程序进入到了 catch语句当中。当有错误信息打印出来的时候,一般都代表你的程序出现严重问题了,必须尽快修复。对应级别 error,比 warn高一级。

    ●7 Ctrl+Shift+O自动导入包,比如import android.util.Log;

    ●8 极度建议将不相干的项目关闭掉,仅打开当前工作所需要的项目,不然我保证以后你会在这一方面吃亏。右键项目->Close Project。

    ●9 输入提示,自动补全。其他类同。

        打开Eclipse  -> Window -> Perferences-> Java -> Editor -> Content Assist,在右边最下面一栏找到auto-Activation ,下面有三个选项,找到第二个“Auto activation triggers for Java:”选项

        在其后的文本框中会看到一个“.”存在。这表示:只有输入“.”之后才会有代码提示和自动补全,我们要修改的地方就是这里。把该文本框中的“.”换掉,换成“abcdefghijklmnopqrstuvwxyz.”,这样,你在Eclipse里面写Java代码就可以做到按“abcdefghijklmnopqrstuvwxyz.”中的任意一个字符都会有代码提示。

    ●10 手动创建Activity等。

        1.右键src->New->Package.

        2.右键新建的包->New->Class.(继承Activity,重写onCreate())

        3.创建相应layout:右键res/layout->New->AndroidXML File;(默认LinearLayout即可)

        4.给Activity加载布局:返回Activity在onCreate()方法加入layout,setContentView(R.layout.first_layout);

        注意1.自动补全,Android SDK会自动提供一个Android包下的R文件,别用错了

        注意2.在AndroidManifest.xml中注册启动页面

        注意3.给主活动指定的label不仅会成为挑剔栏中的内容,还会成为启动器(Launcher)中的应用程序显示的名字。

    ●11 隐藏标题栏

        在onCreate函数中,setContentView()之前加入requestWindowsFeature(Window.FEATURE_NO_TITLE);。

●12 方法指定错误或不明确?

        OnClickListener()方法指定错误吧,就像上面的R一样,应该是这样吧。

        两个解决办法:

        1.new OnClickListener()改为->new Button.OnClickListener()

        2.页顶端添加->import android.view.View.OnClickListener;

        似乎正渐渐熟悉Eclipse的环境和风格….

        点击”Import‘OnClickListener’(android.view.View)”即可。

        总结:

            1.以后遇到错误先放鼠标上去看看。

            2.可以把光标至于错误处,用快捷键Ctrl+1

            3.使用Ctrl+Shift+o全局添加包,前面用过了。

    ●13 Toast(提醒方式,显示消息后自动消失)

        可以写到按钮Click事件[onClick()]里:Toast.makeText(FirstActivity.this,"You Click Button", Toast.LENGTH_SHORT).show();

        使用Toast中的静态方法makeText(),可以直接”点出来”。三个参数[Context、内容、显示时长]

    ●14 菜单(Menu)

        1.首先再res目录下简历一个menu文件夹(右键res->New->Folder),再menu目录下添加一个AndroidXML File。

        2.打开menu.xml,添加item:   

        
3.在Activity里重写onCreateOptionsMenu()方法:

@Override            public booleanonCreateOptionsMenu(Menu menu)            {                getMenuInflater().inflate(R.menu.menu,menu);//用到inflate,见下面                return true;            }
        
4.添加菜单响应事件,再Activity中重写onOptionsItemSelected()方法:

@Override            public booleanonOptionsItemSelected(MenuItem item) {                switch(item.getItemId()) {                    case R.id.add_item:                    Toast.makeText(this,"添加", Toast.LENGTH_SHORT).show();                    break;                    case R.id.remove_item:                    Toast.makeText(this,"移除", Toast.LENGTH_SHORT).show();                    break;                    default:                    break;                }                return true;            }

            这里使用Toast弹出信息,不要忘记写最后的.show()

        5. 系统自带menu键可激活,魅族没有,所以弹不出。

    ●15 关于Inflate()

        通俗的说,inflate就相当于将一个xml中定义的布局找出来.

        在一个Activity里如果直接用findViewById()的话,对应的是setConentView()的那个layout里的组件.

        因此如果你的Activity里如果用到别的layout,比如对话框上的layout,你还要设置对话框上的layout里的组件(像图片ImageView,文字TextView)上的内容,你就必须用inflate()先将对话框上的layout找出来,然后再用这个layout对象去找到它上面的组件,如:

            View view1=View.inflate(this,R.layout.dialog_layout,null);            TextView dialogTV=(TextView)view1.findViewById(R.id.dialog_tv);            dialogTV.setText("abcd");
 

 

        :R.id.dialog_tv是在对话框layout上的组件,而这时若直接用this.findViewById(R.id.dialog_tv)肯定会报错。

    ●16 销毁Activity

        Activity类提供了一个finish()方法,在活动中调用这个方法就可以销毁当前活动了。

button1.setOnClickListener(newOnClickListener(){            @Override            publicovid onClick(View v){                finish();            }        });

        效果和按下Back键一样一样的。

                大家有什么问题可以问我;有一点,我也是新手。加油吧!

····················································································

·                   今天到此结束    2015/03/03 13:20  CLeopard        ·

····················································································

          转载请注明出处 

你可能感兴趣的文章
bottle学习之JSON模块
查看>>
CSDN-markdown编辑器
查看>>
SSH加密密码中的非对称式密码学
查看>>
Mac Redis安装入门教程
查看>>
python3安装教程配置配置阿里云
查看>>
Mac快捷键和实用技巧
查看>>
Git的多人协作和分支处理测试
查看>>
mysql索引回表
查看>>
iterm2 保存阿里云登陆并防止断开连接
查看>>
brew安装
查看>>
centos 无法连接网络
查看>>
mysql5.7初始密码查看及密码重置
查看>>
go语言实现2048小游戏(完整代码)
查看>>
动态二维码免费制作
查看>>
C语言贪吃蛇
查看>>
Python练手项目
查看>>
知网毕业论文爬取
查看>>
LeetCode1. 两数之和
查看>>
2.两数相加 golang
查看>>
net-tools和ifconfig
查看>>