android基础(昆明北大青鸟分享android需要学习哪些基础知识)
本文目录
- 昆明北大青鸟分享android需要学习哪些基础知识
- 学Android需要什么基础
- Android基础知识
- 独立Android开发者如何零基础学习UI设计
- Android程序的基本执行流程是什么
- 安卓应该学习哪些内容
昆明北大青鸟分享android需要学习哪些基础知识
安卓开发要学多久,安卓开发如果自学的话,没有系统性的学习,而且缺乏项目经验的实践是难以真正掌握的。培训机构对于安卓开发的培训,一般有4个月到半年的不等。
安卓开发要学多久,学习android又需要哪些技能基础呢。
1、Java基础知识
很多朋友一上手就开始学习Android,似乎太着急了一些。Android应用程序开发是以Java语言为基础的,所以没有扎实的Java基础知识,只是机械的照抄别人的代码,是没有任何意义的。万丈高楼平地而起,Java就是筑起高楼的每一块砖头。那么Java学到什么程度才算是过关呢?我个人认为至少要掌握以下两个方面的内容:
a)Java基础语法:具体的知识点列表可以在这里下载:《Java知识点列表》V1.0。这部分内容没有讨价还价的余地,必须烂熟于胸。至于具体的学习方法,可以看书或者是看视频,但是关键是要多加练习,无论是书上的练习还是视频里面的练习,都需要仔仔细细的完成;
b)设计模式:由于在Android系统的框架层当中,使用了大量的设计模式,如果没有这个方面的知识,对于Android的理解就会大打折扣。设计模式的种类非常之多,一个一个的全部掌握,是不现实的,必须首先掌握面向对象的基础设计原则,有了这些基础原则的支持,就可以举一反三。这部分内容可以在《Effective Java》和《Agile.Software.Development:Principles,Patterns.and.Practices》这两本书中找到。
2、Linux基础知识
大家都知道,Android系统的基础是Linux操作系统。在开发过程当中,我们也需要使用到一些Linux命令。所以说一些Linux的基础知识是必须的(话说现在的程序员,不懂Linux都不好意思跟人家打招呼),昆明北大青鸟
学Android需要什么基础
1、首先需要有Java基础,基本上来说界面部分都是用Java来实现
2、了解XML的,实现资源文件的编写
3、C、C++用来实现对系统资源消耗比较大的部分的编码,借助NDK。
4、数据库基础
5、善于阅读源代码,对于能够深入理解Android有帮助
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:
ArrayAdapter《CharSequence》 adapter = ArrayAdapter.createFromResource(
this, //指上下文对象
R.array.plant_array, //引用了在文件中定义的String数组
android.R.layout.******_spinner_item);//用来指定Spinner的样式,可替换自定义
adapter.setDropDownViewResource(
android.R.layout.******_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对象
List《String》 list = new ArrayList《String》();
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开发者如何零基础学习UI设计
这个问题我来回答一下吧,毕竟前一段时间正好有独立开发者问过我相关的问题。而且我自己也有一定的实操经验,自己作为程序员或者独立开发者设计过 UI 。
前一段时间有人咨询我:
我是程序员,我不懂设计,做出来的产品不算精致,有时候很粗糙,怎么办?这严重影响了我软件的留存率和活跃率。其实,我很想说:这很简单,作为技术流设计的产品,不需要多么炫酷多彩,也不需要那么复杂多变。你看看市面上好的产品,都是非常简洁的。在我看来,好的产品就得是简洁的,我喜欢性冷淡风。越是简单,简洁的产品越是好用。你看看微信是不是整体设计风格很简单,简洁,没有过多的复杂交互,主色调绿色,背景白色,辅助色灰色。一个 App 不得超过三种颜色,多了,就不好了。
那,作为一个程序员,一个技术开发者,如何去设计 UI ,设计自己的产品呢?
独立自主设计经验分享
如何你想自己独立自己设计一款产品的话,UI 应该从以下几点做起,即使你不会设计,不会使用 PS ,也一样能够设计出好看的产品。
「模仿抄袭」开始
我这里说的「模仿抄袭」指的是:如果你有一款特别喜欢的产品,特别喜欢这款产品上的设计和色彩搭配,那么你设计自己产品的时候,就去模仿和抄袭你心中喜欢的那款产品的 UI 设计和配色。
你注意,一定不要做一款产品的时候,同时模仿多款产品的设计和色彩搭配,否则你做出来的产品的色彩搭配会很乱。模仿一款就可以了。
一旦确定了用你喜欢的产品作为设计和色彩搭配的模仿对象以后,那么你的主色调,辅助色和背景色就都确定了,这样设计出来的一款产品,不会差到哪里去。
我一个做设计的朋友,说:如果不懂配色的时候,或者需要使用某种颜色的时候,自己调出来的颜色不好看怎么办?看看微信或者其他大厂 App 的颜色,比如如果用绿色的话,就把微信的主色调绿色取值出来。他们大厂的设计肯定经过很多的调研和测试,才选择这个色值的。再比如:谷歌的图标,有四种颜色,红色,黄色,绿色,蓝色,这四种颜色,谷歌作为世界大厂,有很**的设计师,肯定调了很久,是最好看的四种色,如果需要,就用他们的色值就行了。
图标怎么办?
你告诉我了色彩搭配应该怎么做了,确定了色彩搭配,可是一款软件上需要图标啊,我不会设计这些图标,我该如何弄?咋办?
很简单,去找「阿里妈妈」,阿里妈妈是一个矢量图标管理、交流平台。设计师将图标上传到 Iconfont 平台,用户可以自定义下载多种格式的 icon,平台也可将图标转换为字体,便于前端工程师自由调整与调用。
阿里妈妈地址:
Android程序的基本执行流程是什么
android执行流程
1、(AndroidManifest.xml)程序在执行系统会将这个事件包装成一个Intent,该Intent包含两个参数,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
< application
android:allowBackup = “True“
android:icon = “@drawable/ic_launcher“
android:label = “@string/app_name“
android:theme = “@style/AppTheme“ >
< activity
android:name = “com.test.spinnerdemo.MainActivity“
android:label = “@string/app_name“ >
< intent-filter >
< action android:name = “android.intent.action.MAIN“ />
< category android:name = “android.intent.category.LAUNCHER“ />
intent-filter >
activity >
application >
1
< br >
2、这个应用之后在应用的功能清单文件中寻找与该意图匹配的意图过滤器,如果匹配成功,找到相匹配的意图过滤器所在的Activity元素,再根据元素的“name“属性来寻找其对应的Activity类。接着Android操作系统创建该Activity类的实例对象,对象创建完成之后,会执行该类的onCreate方法,此OnCreate方法是重写其父类Activity的OnCreate方法。此方法用来初始化Activity实例对象。以下 类中onCreate方法的代码。
1
2
3
4
5
public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
super .setContentView(R.layout.main); }
}
其中super.onCreate(savedInstanceState)的作用是调用其父类Activity的OnCreate方法来实现对界面的画图绘制工作。在实现自己定义的Activity子类的OnCreate方法时一定要记得调用该方法,以确保能够绘制界面。SetContentView(R.layout.main)的作用是加载一个界面。该方法中传入的参数是“R.layout.main“,其含义为R.java类中静态内部类layout的静态常量main的值,而该值是一个指向“res“目录下的“layout“子目录下main.xml文件的标识符。因此代表着显示main.xml所定义的画面。
安卓应该学习哪些内容
学习分三个阶段:
1,Android基础阶段:平台架构特性(J**A/C) Market/应用程序组件 环境搭建与部署/打包与发布 **D/DDMS/AAPT 调试与测试 相关资源访问/资源制作 Activity/Service/Broadcast Receiver/Content Provider/原理(生命周期)及深层实现
2,Android进阶初级:组件Widget/ 菜单Menu/ 布局Layout 详解 Xml解析(Pull/Dom/Sax)/JNI 解析**L数据库原理,。 **Lite /SharedPreferences/File详解 多媒体Audio/Video/Camera 详解
3,Android进阶高级:蓝牙/WIFI SMS/MMS 应用实现 深层次解析GPS原理。 实现LocationManager/LocationProvider 进行定位/跟踪/查找/趋近警告以及Geocoder正逆向编解码等技术细节 2D图形库(Graphics/View)详解 SDCARD/传感器/手势 应用实现
更多文章:

galaxy alpha(三星Galaxy Alpha恢复出厂设置功能在哪)
2024年8月9日 00:50

老年手机多少钱(想买个老年机,什么牌子比较好,且便宜,给采纳)
2024年4月18日 01:50

x1 carbon 2019黑苹果(联想X1 Carbon安装黑苹果触控板,蓝牙,wifi不能用)
2024年12月29日 21:30

骁龙855和麒麟980谁好(骁龙855和麒麟980性能差距大吗实际体验谁更好一些)
2023年3月25日 07:40

换一个oppo r15x屏多少钱(oppor15x修屏要多少钱)
2025年2月7日 06:43

乐视超级电视账号(乐视超级电视用户买了屏霸,怎么领取会员,与现有电视中的会员什么关系)
2024年7月23日 14:34