XEM THỐNG KÊ ĐIỂM CHUẨN VÀO LỚP 10 CÁC TỈNH
Trước khi đến với bài này, bạn cần cài đặt Android studio. Để cài Android Studio bạn cần có máy tính cấu hình đủ mạnh. Khuyến nghị RAM 2gb trở lên.
Nếu chưa cài, bạn có thể xem bài cách cài đặt Android studio tại đây
http://www.sangkienkinhnghiemhay.net/2016/02/lap-trinh-android-huong-dan-cai-at-va.html
Sáng kiến kinh nghiệm hay
Nếu chưa cài, bạn có thể xem bài cách cài đặt Android studio tại đây
http://www.sangkienkinhnghiemhay.net/2016/02/lap-trinh-android-huong-dan-cai-at-va.html
Bước 1- Mở đầu
- Bài viết này giúp bạn bắt đầu lập trình Android bằng Android studio (khác với lập trình eclipse)Để bắt đầu, máy tính của bạn cần cài đặt Android Studio, nếu chưa cài bạn có thể xem hướng dẫn tại:
-
Bước 2- Tìm hiểu lần đầu chạy Android Studio
- Trong lần chạy đầu tiên, Android Studio hỏi bạn có nhập khẩu các sét đặt từ phiên bản Android Studio mà bạn có thể đã cài đặt trước đó hay không.Bạn có thể chọn NO.
- Lựa chọn một Theme mà bạn thích:
- Trong lần chạy đầu tiên, Android cần download một vài thành phần.Bạn cần chờ đợi cho tới khi tiến trình download và cài đặt hoàn thành. (Hơi lâu chút, tùy thuộc vào cấu hình máy, tốc độ mạng ....)
-
Bước 3- Tìm hiểu cách tạo Project đầu tiên của bạn
- Đến đây, bạn bắt đầu thực hiện công việc đầu tiên đó là bạn cần tạo một Project đầu tiên, và chạy nó thành công.
- Nhập vào như sau:
- Application name: HelloAndroid
- Company Domain: sangkienkinhnghiemhay.net
- Project location: F:\ANDROID_TUTORIAL\HelloAndroid
- Hình minh họa thao tác này
- Và đây là màn hình Android Studio sau khi bạn tiến hành các thao tác này
- Đến đây, Project của bạn đã được tạo ra.
-
Bước 4- Chạy thử ứng dụng vừa tạo
- Màn hình mô phỏng đã hiển thị cái điện thoại, và ghi ra dòng chữ "Hello World".
- Tuy nhiên, đến đây chưa chắc chương trình đầu tiên có thể chạy trơn mượt mà có thể mắc lỗi. Tuy nhiên những lỗi này khắc phục tương đối đơn giản.Nếu ứng dụng chạy lỗi (hoặc chờ mãi không thấy cửa sổ thiết bị mô phỏng) hoặc bạn thấy thông báo dưới đây, nghĩa là bạn chưa cài đặt Intel Emulator Accelerator, bạn cần phải cài đặt nó:
Bạn cần phải cài đặt phần mềm quản lý tăng tốc phần cứng của Intel xem bài
http://www.sangkienkinhnghiemhay.net/2016/02/huong-dan-cai-at-phan-mem-quan-ly-tang.html
- Và nếu bạn nhận thấy màn hình Android Simulator quá lớn (Lỗi với Android Studio 1.3), và không thể di chuyển, bạn có thể cần một vài cấu hình để loại bỏ sự khó chịu này.
- Chú ý: Trong lần chạy đầu tiên có thể hơi lâu, nhưng có thể bạn sẽ bị một trong các vấn đề:
- Cửa sổ thiết bị mô phỏng không hiển thị
- Cửa sổ thiết bị mô phỏng hiển thị nhưng một màu đen sì.
Trong trường hợp đó bạn có thể xem thêm phụ lục phía cuối tài liệu. -
Bước 5- Khám phá Nexus_5_23_x86
- Bây giờ bạn cần làm quen với cái điện thoại mô phỏng, cái mà ứng dụng của bạn đang được chạy trên đó.
- Slider dưới đây cho bạn thấy ứng dụng của bạn đã được triển khai ở đâu trên điện thoại:
- Slider:
-
Bước 6- Tìm hiểu về cấu trúc Project Android
- Đây là hình ảnh project của bạn trên Android Studio:
File hoặc thư mục Mô tả AndroidManifest.xml Đây là file manifest mô tả các đặc điểm cơ bản của ứng dụng và xác định từng thành phần của nó. java Thư mục này có chứa các file nguồn java cho dự án của bạn. Theo mặc định, nó bao gồm một tập tin nguồn MainActivity.java một lớp hoạt động (activity) chạy khi ứng dụng của bạn được khởi động. res/drawable Các phiên bản Android trước đây sử dụng thư mục này để chứa ảnh, các phiên bản hiện tại sử dụng thư mục mipmap thay thế làm nơi chứa ảnh. Thư mục này gần như không còn sử dụng. res/layout Thư mục này chứa các file định nghĩa giao diện người dùng. res/menu Thư mục này chứa các file xml, định nghĩa các menu sẽ hiển thị trên Action Bar. res/mipmap Chứa các ảnh 'mipmap'. res/values Đây là một thư mục cho các tập tin XML khác nhau có chứa một tập hợp các nguồn, chẳng hạn như các chuỗi và các định nghĩa màu sắc. AndroidManifest.xml
- Dù thành phần bạn phát triển như một phần của ứng dụng của bạn, bạn phải khai báo tất cả các thành phần của nó trong một AndroidManifest.xml. Tập tin này hoạt động như một giao tiếp giữa hệ điều hành Android và ứng dụng của bạn, vì vậy nếu bạn không khai báo thành phần của bạn trong tập tin này, sau đó nó sẽ không được xem xét bởi các hệ điều hành. Ví dụ, một file manifest mặc định sẽ trông giống như file sau:
- AndroidManifest.xml
- 123456789101112131415161718192021
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
package
=
"org.o7planning.helloandroid"
>
<
application
android:allowBackup
=
"true"
android:icon
=
"@mipmap/ic_launcher"
android:label
=
"@string/app_name"
android:theme
=
"@style/AppTheme"
>
<
activity
android:name
=
".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
>
</
manifest
>
res/mipmap
- Bạn cần hiểu thêm một chút về các ảnh trong thư mục mipmap, hãy xem hình ảnh dưới đây, có một file ảnh trong thư mục mipmap.
- Một trong các vấn đề mà tôi thỉnh thoảng bắt gặp khi sử dụng ứng dụng Andorid là tôi thấy các ảnh mờ, nhòe, hoặc giãn không chuẩn. Các giải pháp cho vấn đề này là tạo ra một thư mục mipmap cho mỗi mật độ điểm ảnh mà Android hỗ trợ, và để các hình ảnh thu nhỏ một cách chính xác. Có 6 dẫy mật độ khác nhau (đo theo số điểm ảnh trên 1 inch) mà Android hỗ trợ:
- ldpi: Dành cho các màn hình độ phân giải thấp; xấp sỉ 120dpi
- mdpi: Dành cho các màn hình độ phân giải trung bình (trên HVGA truyền thống) ; xấp sỉ 160dpi
- hdpi: Dành cho các màn hình phân giải cao; xấp sỉ 240dpi
- xhdpi: Dành cho các màn hình phân giải cao hơn nữa; xấp sỉ 320dpi. Đã được thêm vào trong API Level 8
- nodpi: Cái này có thể được sử dụng cho tài nguyên bitmap mà bạn không muốn được thu nhỏ để phù hợp với mật độ thiết bị
- tvdpi: Có một số màn hình độ phân giải nằm giữa mdpi và hdpi; xấp sỉ 213dpi. Nó không được coi là nhóm phân giải chính. Nó chủ yếu dành cho TV và hầu hết các ứng dụng không cần cung cấp nguồn mdpi và hdpi, hệ thống sẽ tự co giãn phù hợp. Tiêu chuẩn này được giới thiệu trong API Level 13.
-
Bước 7- Tìm hiểu Vòng đời của Android Activity
- Trước hết Activity là gì?
- Activity là một mã Java có hỗ trợ một màn hình hoặc giao diện người dùng. Nói cách khác, xây dựng khối của giao diện người dùng là một Activity.
Activity class là một lớp được có sẵn trong Android và tất cả các ứng dụng trong đó có giao diện người dùng phải kế thừa nó để tạo ra cửa sổ. - Chẳng hạn class MainActivity là một Activity nó mở rộng từ một Activity có sẵn trong thư viện Android. Hình dưới đây minh họa vòng đời của một Activity.
Một vòng đời của Activity mô tả các quá trình của một Activity kể từ khi nó bắt đầu chạy (Launched), cho tới khi ứng dụng bị tắt. Bao gồm cả quá trình Activity bị dừng tạm thời, chạy lại (resume),..
- Để dễ hiểu hơn bạn có thể sửa đổi lại code của class MainActivity, ghi đè các phương thức onStart(), onResume(),... thêm vào các message chứng tỏ phương thức đó vừa được chạy. Sau đó chạy lại ứng dụng và theo dõi các quá trình trong vòng đời của Activity hoạt động thế nào.
- MainActivity.java
- 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
package
org.o7planning.helloandroid;
import
android.support.v7.app.AppCompatActivity;
import
android.os.Bundle;
import
android.util.Log;
import
android.view.Menu;
import
android.view.MenuItem;
public
class
MainActivity
extends
AppCompatActivity {
public
static
final
String TAG =
"MyMessage"
;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Print Log
Log.i(TAG,
"onCreate"
);
}
@Override
protected
void
onStop() {
super
.onStop();
// Print Log
Log.i(TAG,
"onStop"
);
}
@Override
protected
void
onDestroy() {
super
.onDestroy();
// Print Log
Log.i(TAG,
"onDestroy"
);
}
@Override
protected
void
onPause() {
super
.onPause();
// Print Log
Log.i(TAG,
"onPause"
);
}
@Override
protected
void
onResume() {
super
.onResume();
// Print Log
Log.i(TAG,
"onResume"
); }
@Override
protected
void
onStart() {
super
.onStart();
// Print Log
Log.i(TAG,
"onStart"
);
}
@Override
protected
void
onRestart() {
super
.onRestart();
// Print Log
Log.i(TAG,
"onRestart"
); }
@Override
public
boolean
onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
// Print Log
Log.i(TAG,
"onCreateOptionsMenu"
);
return
true
;
}
@Override
public
boolean
onOptionsItemSelected(MenuItem item) {
// Print Log
Log.i(TAG,
"onOptionsItemSelected"
);
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int
id = item.getItemId();
//noinspection SimplifiableIfStatement
if
(id == R.id.action_settings) {
return
true
;
}
return
super
.onOptionsItemSelected(item);
}
}
- Chạy lại ứng dụng của bạn, và bạn thấy các message được ghi ra trên cửa sổ logcat.
- Bạn có thể sét đặt bộ lọc để logcat chỉ hiển thị các message của bạn.
- Nhập vào:
- Filter Name: My Filter
- Log Tag (regex): MyMessage
- Bây giờ cửa sổ logcat chỉ hiển thị các message của bạn.
- Màn hình điện thoại của bạn:
-
Bước 8- Tìm hiểu Ứng dụng Android đã hoạt động thế nào
- Bạn đã vừa chạy ứng dụng Android đầu tiên thành công, và bây giờ chúng ta sẽ nhìn lại Android đã hoạt động thế nào từ khi ứng dụng được gọi.
- Bạn cần biết rằng những gì bạn nhìn thấy trên cửa sổ Project không phải là tất cả thành phần tham gia tạo nên ứng dụng của bạn. Có những thành phần được tạo ra một cách tự động bởi chương trình biên dịch. Và nó không hiển thị trên cửa sổ Project. Chẳng hạn dựa vào cấu trúc các file nguồn trong project của bạn trình biên dịch tạo ra một file nguồn R.java, file này định nghĩa ra các hằng số cho các nguồn tài nguyên trên project.
- Để xem file R.java trên Android Studio, mở class MainActivity, nhấn chuột phải vàoR.layout.main_activity chọn Go To/Implementation(s)
- Các hằng số định nghĩa trong class R.java được tạo ra tương ứng với các tài nguyên trên Project:
- Như vậy ở đâu đó trong Project, bạn có thể sử dụng các hằng số để tham chiếu các tài nguyên trong project. Chẳng hạn R.layout.activity_main là một hằng số ám chỉ file activity_main.xml trong thư mục res/layout.
Nguyên tắc hoạt động:
-
9- Cái gì tạo ra giao diện người dùng?
- Có thể lúc này bạn đang nghĩ rằng activity_main.xml là file tạo ra giao diện của ứng dụng. Điều đó đúng 50%, thực chất activity_main.xml là một file định nghĩa ra các thực thể tham gia vào giao diện của ứng dụng, và chúng sắp xếp thế nào trên màn hình. Activity sẽ đọc file này và vẽ lên giao diện ứng dụng. Như vậy bản chất giao diện của ứng dụng do Activity tạo nên.
- Đây là đoạn code Activity đọc file main_activity.xml để tạo ra giao diện.
- 12345678910111213141516171819202122
package
org.o7planning.helloandroid;
import
android.support.v7.app.AppCompatActivity;
import
android.os.Bundle;
import
android.util.Log;
import
android.view.Menu;
import
android.view.MenuItem;
public
class
MainActivity
extends
AppCompatActivity {
public
static
final
String TAG =
"MyMessage"
;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
// Đọc file activity_main.xml để vẽ ra giao diện người dùng.
setContentView(R.layout.activity_main);
}
// .....
}
- Activity có thể không cần đọc file xml để tạo ra giao diện ứng dụng:
- 123456789101112131415161718192021222324252627282930313233343536
package
org.o7planning.helloandroid;
import
android.graphics.Color;
import
android.support.v7.app.AppCompatActivity;
import
android.os.Bundle;
import
android.util.Log;
import
android.view.Menu;
import
android.view.MenuItem;
import
android.widget.Button;
import
android.widget.RelativeLayout;
public
class
MainActivity
extends
AppCompatActivity {
public
static
final
String TAG =
"MyMessage"
;
@Override
protected
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
// Layout (Cách bố trí các thành phần trên giao diện).
RelativeLayout layout =
new
RelativeLayout(
this
);
layout.setBackgroundColor(Color.GREEN);
// Tạo Button
Button button =
new
Button(
this
);
button.setText(
"My Button"
);
// Thêm button vào Layout
layout.addView(button);
// Nội dung giao diện.
setContentView(layout);
}
// ......
}
- Và chạy lại ứng dụng:
- Android Studio phiên bản hiện tại không hỗ trợ bạn thiết kế giao diện trực quan trên Java. Nhưng nó hỗ trợ rất tốt bạn thiết kế giao diện trực quan trên file xml. Android Studio sẽ tạo ra mã XML cho bạn. Thực tế thiết kế giao diện trên XML sẽ làm ứng dụng của bạn dễ dàng bảo trì hơn.
- Quay trở lại với activity_main.xml, bạn dễ dàng thiết kế giao diện ứng dụng:
-
Phụ lục: Fix lỗi thiết bị mô phỏng không hiển thị
- Ví dụ Hello World bạn cần phải chạy được, nếu không chạy được rõ ràng là một vấn đề. Đôi khi tôi tôi cài lại máy tính và cài lại Android Studio bị tình huống là cửa sổ thiết bị mô phỏng không chịu hiển thị khi chạy ứng dụng Android. Bạn cần phải có một vài kiểm tra.
- Đảm bảo rằng máy tính của bạn cài đặt đúng card màn hình, sau đó start máy tính và thử lại Android.
- Chú ý: Cài đặt đúng driver cạc màn hình là vô cùng quan trọng, bạn nên ưu tiên kiểm tra kỹ vấn đề này.
Nếu vẫn tiếp tục vấn đề trên bạn cần kiểm tra tiếp:
- Trên Android Studio chọn:
- Tools/Android/AVD Manager
- Bạn có thể chạy lại ứng dụng Android.
Điều gì xẩy ra nếu cửa sổ mô phỏng vẫn không chịu hiển thị?
- Bạn hãy thử chạy lệnh trên với CMD, thông tin lỗi sẽ được thông báo trên cửa sổ CMD.
- Từ lý do lỗi bạn có thể tìm kiếm giải pháp với Google.
Sáng kiến kinh nghiệm hay
XEM ĐIỂM CHUẨN VÀO LỚP 10 CÁC TỈNH
Xem điểm chuẩn lớp 10
Hướng dẫn mua bán BITCOIN => Bấm vào đây
Sách hay bấm vào đây
0 nhận xét Blogger 0 Facebook
Post a Comment
Cám ơn bạn đã phản hồi