Login/Register
Login
Register
Podcaster Register
×
Home
Top Podcaster
Networks
By Language
By Country
By Category
About Us
Contact Us
Faqs
Features
News & Blogs
Privacy Policy
Terms Of Use
☰
Home
Top Podcaster
Guest
Login
Register
Podcaster Register
Comedy
Arts
Games & Hobbies
Business
Motivation
More
Religion & Spirituality
Education
Arts and Design
Health
Fashion & Beauty
Government & Organizations
Kids & family
Music
News & Politics
Science & Medicine
Society & Culture
Sports & Recreation
TV & Film
Technology
Philosophy
Storytelling
Horror and Paranomal
True Crime
Leisure
Travel
Fiction
Crypto
Marketing
History
Home
Top Podcaster
Networks
By Language
By Country
By Category
About Us
Contact Us
Faqs
Features
News & Blogs
Privacy Policy
Terms Of Use
Search
By Category
Arts
Arts and Design
Business
Comedy
Crypto
Education
Fashion & Beauty
Fiction
Games & Hobbies
Government & Organizations
Health
History
Horror and Paranomal
Kids & family
Leisure
Marketing
Motivation
Music
News & Politics
Philosophy
Religion & Spirituality
Science & Medicine
Society & Culture
Sports & Recreation
Storytelling
Technology
Travel
True Crime
TV & Film
By Language
Afar
Afrikaans
Akan
Albanian
Amharic
Arabic
Armenian
Assamese
Azerbaijani
Bambara
Basque
Belarusian
Bengali
Bihari languages
Bosnian
Breton
Bulgarian
Burmese
Catalan Valencian Active
Central Khmer
Chamorro
Chechen
Chichewa
Corsican
Croatian
Czech
Danish
Dutch
Dzongkha
English
Esperanto
Estonian
Ewe
Faroese
Finnish
French
Fulah
Gaelic, Scottish
Galician
Georgian
Georgien
German
Greek
Greek (modern)
Greenlandic
Gujarati
Hausa
Hebrew (modern)
Hindi
Hungarian
Icelandic
Indonesian
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Korean
Kurdish
Kyrgyz/ Kirghiz
Latin
Latvian
Lithuanian
Luxembourgish
Macedonian
Maithili
Malagasy
Malay
Malayalam
Maltese
Mandarin Chinese
Maori
Marathi
Mongolian
Nepali
North Ndebele
Northern Sami
Norwegian
Norwegian Bokmål
Norwegian Nynorsk
Oriya
Oromo
Pashto
Persian
Polish
Portuguese
Punjabi
Quechua
Romanian
Romansh
Russian
Sanskrit
Serbian
Serbian
Serbo-Croato-Slovenian
Sindhi
Sinhala
Slovak
Slovenian
Somali
South Ndebele
Spanish
Sundanese
Swahili
Swedish
Tagalog
Tajik
Tamil
Tatar
Telugu
Thai
Tibetan
Tigrinya
Tongan
Tswana
Turkish
Twi
Uighur. Uyghur
Ukrainian
Urdu
Uzbek
Vietnamese
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zulu
By Country
Afghanistan
Algeria
Andorra
Argentina
Armenia
Australia
Austria
Azerbaijan
Bangladesh
Belgium
Bosnia and Herzegovina
Brazil
Bulgaria
Canada
Chile
China
Colombia
Costa Rica
Croatia
Cyprus
Czech Republic
Denmark
Dominican Republic
Ecuador
Egypt
El Salvador
Estonia
Faroe Islands
Finland
France
Georgia
Germany
Greece
Hong Kong
Hungary
Iceland
India
Indonesia
Iran
Ireland
Israel
Italy
Japan
Kazakhstan
Kuwait
Lao Peoples Democratic Republic
Lithuania
Luxembourg
Mexico
Namibia
Netherlands
New Zealand
Niger
North Korea
Norway
Pakistan
Panama
Peru
Philippines
Poland
Portugal
Puerto Rico
Republic of the Congo
Romania
Russia
Saudi Arabia
Serbia
Slovenia
Somalia
South Africa
South Korea
Spain
Sri Lanka
Sweden
Switzerland
Syria
Taiwan
Tajikistan
Thailand
Turkey
UAE
UK
Ukraine
USA
Uzbekistan
Venezuela
Vietnam
Home
>
iOSDevLog
> 747. Android 第一天- 初识-1
Podcast:
iOSDevLog
Episode:
747. Android 第一天- 初识-1
Category:
Technology
Duration:
00:15:01
Publish Date:
2016-09-18 22:29:13
Description:
http://v.youku.com/v_show/id_XMTczMTA2MTE5Ng==.html
Android入门基础:从这里开始
英文: http://developer.android.com/training/index.html
中文: http://hukai.me/android-training-course-in-chinese/basics/index.html
建立第一个App
使用Android Studio创建项目
使用Android Studio创建Android项目,启动Android Studio。
如果我们还没有用Android Studio打开过项目,会看到欢迎页,点击New Project。
如果已经用Android Studio打开过项目,点击菜单中的File,选择New Project来创建一个新的项目。
填入内容,点击Next。
Application Name此处填写想呈现给用户的应用名称。
Company domain 包名限定符,Android Studio会将这个限定符应用于每个新建的Android项目。
Package Name是应用的包命名空间(同Java的包的概念),该包名在同一Android系统上所有已安装的应用中具有唯一性,我们可以独立地编辑该包名。
Project location操作系统存放项目的目录。
在Select the form factors your app will run on窗口勾选Phone and Tablet。
Minimum SDK. Minimum Required SDK表示我们的应用支持的最低Android版本,为了支持尽可能多的设备,我们应该设置为能支持你应用核心功能的最低API版本。如果某些非核心功能仅在较高版本的API支持,你可以只在支持这些功能的版本上开启它们(参考兼容不同的系统版本),此处采用默认值即可。
不要勾选其他选项 (TV, Wear, Auto and Glass) ,点击 Next.
在Add an activity to 窗口选择 Empty Activity,点击 Next.
在Choose options for your new file 窗口.
点击Finish完成创建。
刚创建的Android项目是一个基础的Hello World项目,包含一些默认文件,我们花一点时间看看最重要的部分:
app/src/main/res/layout/activity_my.xml
这是刚才用Android Studio创建项目时新建的Activity对应的xml布局文件,按照创建新项目的流程,Android Studio会同时展示这个文件的文本视图和图形化预览视图,该文件包含一些默认设置和一个显示内容为“Hello world!”的TextView元素。
app/src/main/java/com.iosdevlog.a1helloworld/MainActivity.java
用Android Studio创建新项目完成后,可在Android Studio看到该文件对应的选项卡,选中该选项卡,可以看到刚创建的Activity类的定义。编译并运行该项目后,Activity启动并加载布局文件activity_my.xml,显示一条文本:”Hello world!”
app/src/main/AndroidManifest.xml
manifest文件描述了项目的基本特征并列出了组成应用的各个组件,接下来的学习会更深入了解这个文件并添加更多组件到该文件中。
app/build.gradle
Android Studio使用Gradle 编译运行Android工程. 工程的每个模块以及整个工程都有一个build.gradle文件。通常你只需要关注模块的build.gradle文件,该文件存放编译依赖设置,包括defaultConfig设置:
compiledSdkVersion 是我们的应用将要编译的目标Android版本,此处默认为你的SDK已安装的最新Android版本(目前应该是4.1或更高版本,如果你没有安装一个可用Android版本,就要先用SDK Manager来完成安装),我们仍然可以使用较老的版本编译项目,但把该值设为最新版本,可以使用Android的最新特性,同时可以在最新的设备上优化应用来提高用户体验。
applicationId 创建新项目时指定的包名。
minSdkVersion 创建项目时指定的最低SDK版本,是新建应用支持的最低SDK版本。
targetSdkVersion 表示你测试过你的应用支持的最高Android版本(同样用API level表示).当Android发布最新版本后,我们应该在最新版本的Android测试自己的应用同时更新target sdk到Android最新版本,以便充分利用Android新版本的特性。更多知识,请阅读Supporting Different Platform Versions。
注意/res目录下也包含了resources资源:
drawable
/
存放各种densities图像的文件夹,mdpi,hdpi等,这里能够找到应用运行时的图标文件ic_launcher.png
layout/
存放用户界面文件,如前边提到的activity_my.xml,描述了MyActivity对应的用户界面。
menu/
存放应用里定义菜单项的文件。
values/
存放其他xml资源文件,如string,color定义。string.xml定义了运行应用时显示的文本”Hello world!”
创建一个LinearLayout
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send" />
让输入框充满整个屏幕的宽度
在activity_my.xml文件里,设置EditText的layout_weight属性值为1 .
设置EditText的layout_width值为0dp.
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send" />
启动另一个Activity
/** Called when the user clicks the Send button */
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
在Android Studio中,按Alt + Enter 可以导入缺失的类(在Mac中使用option + return).
DisplayMessageActivity的完整onCreate()方法应该如下:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Get the message from the intent
Intent intent = getIntent();
String message = intent.getStringExtra(MyActivity.EXTRA_MESSAGE);
// Create the text view
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(message);
// Set the text view as the activity layout
setContentView(textView);
}
Total Play:
0
Your browser does not support the audio element.