android基础知识,Android知识

http://www.itjxue.com  2023-01-15 14:27  来源:未知  点击次数: 

北大青鸟java培训:android需要学习哪些基础知识?

安卓开发要学多久,安卓开发如果自学的话,没有系统性的学习,而且缺乏项目经验的实践是难以真正掌握的。

培训机构对于安卓开发的培训,一般有4个月到半年的不等。

安卓开发要学多久,学习android又需要哪些技能基础呢。

1、Java基础知识很多朋友一上手就开始学习Android,似乎太着急了一些。

Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。

万丈高楼平地而起,Java就是筑起高楼的每一块砖头。

那么Java学到什么程度才算是过关呢?我个人认为至少要掌握以下两个方面的内容:a)Java基础语法:具体的知识点列表可以在这里下载:《Java知识点列表》V1.0。

这部分内容没有讨价还价的余地,必须烂熟于胸。

至于具体的学习方法,可以看书或者是看视频,但是关键是要多加练习,无论是书上的练习还是视频里面的练习,都需要仔仔细细的完成;b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。

设计模式的种类非常之多,一个一个的全部掌握,是不现实的,必须首先掌握面向对象的基础设计原则,有了这些基础原则的支持,就可以举一反三。

这部分内容可以在《EffectiveJava》和《Agile.Software.Development:Principles,Patterns.and.Practices》这两本书中找到。

2、Linux基础知识大家都知道,Android系统的基础是Linux操作系统。

在开发过程当中,我们也需要使用到一些Linux命令。

所以说一些Linux的基础知识是必须的(话说现在的程序员,不懂Linux都不好意思跟人家打招呼),福建北大青鸟推荐大家看看北大青鸟相当不错;3、数据库基础知识这个比较简单,就是一个增删改查的数据库操作,可以看一下这本书:《SQL编程练习与解答》。

4、网络协议至少需要学习两种基础的协议,HTTP协议与Socket协议;5、Android基础知识此知识点的篇幅较大,在这里就不作更多解释了。

我想知道Android开发必须要掌握的有哪些知识点?

l 熟练运用Android下的自定义控件。

l 熟练掌握Android系统架构,对Android的各个层次的开发有一定的认识。

l 熟练掌握android下的XML,JSON,HTML的解析,熟练掌握各种数据的存储方式,能使用MVC独立开发客户端程序,熟悉安卓下的GPS定位。

l 熟悉android 的JNI 开发,通过JNI实现JAVA与C/C++程序间的调用及回调。

l 熟练掌握UI设计、常用布局、动画特效。熟悉安卓下的消息推送机制原理。

l 熟悉Android下的安全机制。如获取系统最高权限使得不能停止服务,利用守护进程保护服务不被停止,清理内存等。

l 熟悉Android下网络通信机,对Socket通信、TCP、Http有较深刻的了解和经验。

l 熟练应用Mysql,SQLServer,及安卓下的SQLite数据库操作及编码。

l 熟练掌握HTML,DIV/CSS,熟悉JavaScript/Ajax/jquery能实现静态页面的开发。

l 了解HTML5,了解PhoneGAP框架,WebSevice。

熟练使用Eclipse/Myeclipse,CVS/SVN/GIT等开发工具, 对数据结构有深入了解,有C/C++基础

当然你java基础也必须要好 算法什么的

android开发 需要学习什么?

Android开发简单来说,就是在安卓系统的手机上制作APP,现在安卓手机市场份额大,对人才的需求也是很高的

Android开发,需要掌握以下知识:

android以java为基础的,所以前提要学好Java基础知识,比如基本类型、集合等。

android api,学习基本的Activity、service、intent等基本的知识,可以开发一些界面。

计算机网络基本知识。

Linux命令、C编程基础、Android Java编程、Google Android Linux操作系统具体操作等

课 工 场的Android开发教学系统非常完备,如果有这方面的学习需求,可以点 击 头 像试听课程了解一下。

Android基础知识:Activity(3)Activity之间的跳转

本文我们来学习Activity之间的跳转

主界面放一个Button,用于跳转,Second界面就放一个TextView

MainActivity.java

activity_main.xml

SecondActivity.java

activity_second.xml

AndroidMainfest.xml

界面跳转主要是通过构建Intent,然后调用Activity的startActivity方法去启动

Intent接收两个参数,一个是Context,一个是需要跳转的Activity(Context有三种,分别是Application、Activity、Service,具体区别之后会发专门的文章来分析)

隐式启动也需要构建Intent,不过Intent传入的参数是一串字符,这串字符是由你自己定义的

我们先来修改AndroidManifest.xml

action自定义一个字符串,按自己喜欢的风格命名就行了

categroy也是由自己定义,但这里我们就用一个默认的字符串

接着修改MainActivity.java

注意这个Intent传入的参数要和之前定义的action一样

如果在AndroidManifest.xml中加了自己的category,那么就要这样写

我们在启动时要匹配所有的category才能启动

这时,你会发现我没有将android.intent.category.DEFAULT加进去

这是因为startActivity的时候,系统会自动自动帮我们加上

这个就是隐式启动。

Android基础知识

一、activity

1.一个activity就是一个类,继承activity;

2.需要复写onCreate()方法;

3.每一个activity都需要在AndroidMainfest.xml清单上进行配置;

4.为activity添加必要的控件。

二、布局

线性布局:LinearLayout

1.填满父空间:fill_parent、match_parent

2.文本多大空间就有多大:warp_content

3.文字对齐方式:gravity

4.占屏幕的比例:layout_weight="1" ?水平方向,则width=0,垂直方向,则height=0

5.一行显示,空间不够会省略:singleLine="ture"? false会换行

6.背景:background="#ffffff"

7.水平布局:orientation="horizontal"

垂直布局:orientation="vertivcal"

表格布局:TableLayout

1.内边距:padding

2.外边距:marginLeft\Start、Right\End、Top、Bottom

三、RelativeLayout相对布局

layout_above 将该控件的底部置于给定ID控件之上

layout_below 将该控件的顶部置于给定ID控件之下

layout_toLeftOf 将该控件的右边缘和给定ID控件的左边缘对齐

layout_toRightOf 将该控件的左边缘和给定ID控件的右边缘对齐

layout_alignBaseline 该控件的baseline和给定ID的控件的Baseline对齐

layout_alignBottom 该控件的底部边缘和给定ID的控件的底部边缘对齐

layout_alignLeft 该控件的左边缘和给定ID的控件的左边缘对齐

layout_alignRight 该控件的右边缘和给定ID的控件的右边缘对齐

layout_alignTop 该控件的顶部边缘和给定ID的控件的顶部边缘对齐

layout_alignparentBottom 如果该值为true,则该控件的底部和父控件的底部对齐layout_alignParentLeft 如果该值为true,则该控件的左边和父控件的左边对齐

layout_alignParentRight 如果该值为true,则该控件的右边和父控件的右边对齐

layout_alignParentTop 如果该值为true,则该控件的上边和父控件的上边对齐

layout_centerHorizontal 如果该值为true,则该控件将被置于水平方向的中央

layout_centerInParent 如果该值为true,则该控件将被置于父控件水平和垂直方向的中央

layout_centerVertival 如果该值为true,则该控件将被置于垂直方向的中央

四、一个Intent对象包含一组信息

1.Component name

2.Action

3.Data

4.Category

5.Extras

6.Flags

Intent intent = new Intent(this, SecondActivity.class);

startActivity(intent);? //startActivity方法

intent.putExtra("Key", "Value");? //键值对

intent = getIntent();

String value = intent.getStringExtra("Key");? ? //通过键提取数据

五、初级控件:EditText、TextView、Button

1.获取EditText的值

String value = EditText.getText().toString();

2.将值放到Intent对象中

Intent intent = new Intent();

intent.putExtra("one",value )

intent.setCalss(Activity.this, OtherActivity.class);

3.使用这个Intent对象来启动Otheractivity

Activity.this.startActivity(intent);

4.将监听器的对象绑定到按钮对象上

button.setOnclickListener(new Listener());

5.得到Intent对象当中的值

Intent intent = getIntent();

String value1 = intent.getStringExtra("one");

int value2 = Integer.parseInt(value);

六、其他初级控件使用

①ImageView

②RadioGroup和RadioButton

setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener())

③Checkbox

setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener())

④Menu

1.当客户点击MENU按钮的时候,调用onCreateOptionMenu()方法

public boolean onCreateOptionMenu(Menu menu){

menu.add(0,1,1,R.string.id);

}

2.当客户点击MENU内部的具体某一个选项时,调用onOptionItemSelected()方法

public boolean onOptionItemSelected(MenuItem item){

if(item.getItemId() == 1){

finish();

}

return super.onOptionItemSelected(item);

}

七、Activity的生命周期

1.第一次创建时调用

protected void onCreat(Bundle saveInstanceState);

2.显示出来时调用

protected void onStrat();

3.获得用户焦点时调用(可操作)

protected void onResume();

4.点击弹出第二个Activity时调用

protected void onPause();

5.当第一个Activity不可见时调用

protected void onStop();

6.当返回第一个Activity时调用,代替OnCreate,因为没被销毁

protected void onRestart();

7.当返回第一个Activity时调用(先执行onStop,在执行,因为第二个Activity被销毁,不能返回获取,只能通过onCreat,onStart,onResume再创建)

protected void onDestory();

八、Task

1.Task是存放Activity的Stack栈。当点击启动第二个Activiry时,第一个Activtiy会被压入Stack栈当中,第二个Activity会位于栈的顶部;当返回第一个Activtiy时,第二个Activity会被弹出Stack,第一个Activity会位于栈的顶部,以此类推。

注释:当调用finish()时,当前的Activity会被Destory掉,栈中的Activity会消失。

2.当Activity都从Stack退出后,则就不存在Task。

九、高级控件

①进度条ProgressBar

水平进度条style="?android:attr/progressBarStyleHorizontal"

圆圈进度条style="?android:attr/progressBarStyle"

用户可视的visibility="gone"

②列表ListView

十、其他控件

A.下拉菜单Spinner

1.创建一个ArrayAdapter:

ArrayAdapterCharSequence adapter = ArrayAdapter.createFromResource(

this, //指上下文对象

R.array.plant_array, //引用了在文件中定义的String数组

android.R.layout.simple_spinner_item);//用来指定Spinner的样式,可替换自定义

adapter.setDropDownViewResource(

android.R.layout.simple_spinner_dropdown_item);//设置Spinner当中每个条目的样式

2.得到Spinner对象,并设置数据:

spinner=(spinner)findViewById(R.id.spinnerId);

spinner.setAdapter(adapter);

spinner.setPrompt("测试");//标题

3.创建监听器

class SpinnerOnSelectListener implements OnItemSelectedListener{

@override

public void onItemSelected(

AdapterView? adapterView,//整个列表对象

View view,//被选中的具体条目对象

int position,//位置

long id){ //id

String selected = adapterView.getItemAtPosition(position).toString();

}

@override

public void onNothingSelected(AdapterView? adapterView){

S.o.p("nothingSelected");

}

}

4.绑定监听器

spinner.setOnItemSelectedListener(new SpinnerOnSelectListener());

注:第二种动态设计

1.创建ArrayList对象

ListString list = new ArrayListString();

list.add("test1");

2. 调用方法

ArrayAdapter adapter = new ArrayAdapter(

this, //指上下文对象

R.layout.item, //引用了指定了下拉菜单的自定义布局文件

R.id.textViewId,//id

list);//数据

3.得到Spinner对象,并设置对象

spinner.setAdapter(adapter);

spinner.setPrompt("测试");//标题

3.创建监听器

class SpinnerOnSelectListener implements OnItemSelectedListener{

@override

public void onItemSelected(

AdapterView? adapterView,//整个列表对象

View view,//被选中的具体条目对象

int position,//位置

long id){ //id

String selected = adapterView.getItemAtPosition(position).toString();

}

@override

public void onNothingSelected(AdapterView? adapterView){

S.o.p("nothingSelected");

}

}

4.绑定监听器

spinner.setOnItemSelectedListener(new SpinnerOnSelectListener());

B.DatePicker和DatePickerDialog

1.声明一个监听器,使用匿名内部类

DatePickerDialog.OnDateSetListener onDateSetListener

= new DatePivkerDialog.OnDateSetListener(){

public void onDateSet(

DatePicker view,

int year,

int monthOfYear,

int dayOfMonth){

S.o.p(year+"-"+motnOfYear+"-"+dayOfMonth)

}

}

2.复写onCreateDialog(int id)方法:

@override

protected Dialog onCreateDialog(int id){

switch(id){

case DATE_PICKER_ID:

return new DatePickerDialog(this,onDateSetListener,2019,11,25);

}

return null;

}

3.使用时调用showDialog()方法

showDialog(DATE_PICKER_ID);

C.AutoCompleteTextView

B.Widget

C.Animatin

十一、实现ContentProvider过程

1.定义一个CONTENT_URI常量

2.定义一个类,继承ContentProvider

3.实现query、insert、update、delete、getType和onCreate方法

4.在AndroidManifest.xml当中进行声明

从android系统开发需要哪些基础知识技能

①Java基础知识 ②Linux基础知识 ③数据库基础知识 ④网络协议 ⑤Android基础知识 ⑥服务器端开发知识

①Java基础知识

很多朋友一上手就开始学习Android,似乎太着急了一些。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只

是机械的照抄别人的代码,是没有任何意义的。万丈高楼平地而起,Java就是筑起高楼的每一块砖头。那么Java学到什么程度才算是过关呢?我个人认为至

少要掌握以下两个方面的内容:

a)Java基础语法:具体的知识点列表可以在这里下载:《Java知识点列表》V1.0。这部分内容没有讨价还价的余地,必须烂熟于胸。至于具体的学习方法,可以看书或者是看视频,但是关键是要多加练习,无论是书上的练习还是视频里面的练习,都需要仔仔细细的完成;

b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。设计模式

的种类非常之多,一个一个的全部掌握,是不现实的,必须首先掌握面向对象的基础设计原则,有了这些基础原则的支持,就可以举一反三。这部分内容可以在

《Effective

Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》这两本书

中找到。

②Linux基础知识

大家都知道,Android系统的基础是Linux操作系统。在开发过程当中,我们也需要使用到一些Linux命令。所以说一些Linux的基础知识是必

须的(话说现在的程序员,不懂Linux都不好意思跟人家打招呼),推荐大家看看《鸟哥的私房菜》这本书,写的相当不错;

③数据库基础知识

这个比较简单,就是一个增删改查的数据库操作,可以看一下这本书:《SQL编程练习与解答》

④网络协议

至少需要学习两种基础的协议,HTTP协议与Socket协议;

⑤Android基础知识

有了以上的铺垫,再来看Android,是不是觉得轻松了很多呢?至于基础知识的学习顺序,最好的方法就是按照Android SDK帮助文档当中的Dev Guide里面的顺序,我的《Android视频教程》也基本上是按照这个顺序录制的;

⑥服务器端开发知识

由于很多Android应用程序都需要服务器端的支持,所以掌握一些服务器端开发知识还是非常有必要的。至于选择哪一种服务器端知识进行学习,就比较麻烦了,因为技术的种类实在是太多了:

a)Java

EE:就是上面邮件当中所提到的SSH—Struts+Spring+Hibernate。这种技术的优点的功能完整、强大,已经使用了很多年,而且既然

大家已经非常熟悉Java了,那么学习SSH看起来也顺理成章。但是使用这种技术开发服务器端程序,非常麻烦。即使是一些简单的功能,也可能需要大量的代

码和配置文件来实现;

b)PHP:简单易学,开发快速。但是我们需要多学一种语言,是否得不偿失,就要大家自己判断了;

c).NET:这项技术的特点和Java EE差不多,但是要想掌握.NET,则需要掌握c#,也是个麻烦的事情;

d)ruby on rails:这是我个人最喜欢的服务器端技术,简洁,优雅,寥寥几行代码,就可以实现很复杂的功能,但是这需要Ruby语言知识作为基础;

至于选择哪一种知识,就看大家自己的判断了,毕竟每个人想法不一样,爱好也不相同。

2怎样去获得这些技能基础。(android大牛请绕开此段)

看书,这确实是一个不错的选择。如果你想从零开始学习Java、Linux、数据库、网络协议、android基础知识……没错这些你都需要看书,看很多

书(这是一句废话,跳过好了)。但是!如果把获取这些技能基础量化为100%的话,那么看书这个途径只能为你提供15%的进步。

看视频,这也是许多自学android开发的新手必经之路,毕竟看书只有你一个人的思维在活跃,看视频至少是两个人的思维在碰撞,你能发现你与别人的不

同,如果你有心,你就能进步更多。基础知识不用我担心太多,至少想学android的,找基础知识的资料还是没有问题的。在此你也可以试着了解一些

android的基础视频。也可以加入一下android的QQ群,去初步了解一下。感受一下氛围。这个我个人觉得很有意义。

敲代码,不为了其它的什么,就为了你能够熟练的掌握android开发工具,你是不是应该多话一点心思在上面呢?他的重要性不比“看书+看视频”的总和小,也许我就这样轻描淡写地说过去了,但是你最好不要轻描淡写地看过去,不然“返工重做”是很让你不舒服的。

思考,没错,就是“想”。想你怎么把这三块儿合在一块儿,让自己的学习效率更高;想你在学习中遇到哪些障碍,最后是怎么解决的,这很重要!

(责任编辑:IT教学网)

更多

推荐安全技术文章