Thứ Ba, 30 tháng 7, 2013

Android ngày càng phân mảnh hơn?

Sự dẫn đầu thị phần Android của phiên bản Jelly Bean không đem lại nhiều tín hiệu vui như người dùng vẫn tưởng với HĐH của Google.


Lần đầu tiên trong năm, phiên bản mới nhất Jelly Bean (4.1 và 4.2) chiếm lĩnh tỉ trọng lớn nhất trong hệ sinh thái Android với 37,9%, xếp ngay sau đó là phiên bản 2.3 Gingerbread với 34,1%. Việc phiên bản mới nhất chiếm vị trí đầu bảng chứng tỏ các thiết bị chạy Android đã cập nhật nhanh hơn, người dùng hướng đến cái mới nhiều hơn. Nhưng vẫn tồn tại những vấn đề về “sự phân mảnh”, điều làm đau đầu mọi nhà phát triển HĐH.
Biểu đồ tỉ lệ thiết bị chạy các phiên bản hệ điều hành Android
Hãy cùng nhìn lại một chút bảng xếp hạng các phiên bản được sử dụng nhiều nhất của Android. Chúng ta có thể thấy, xếp hạng 2 về sự phổ biến chính là phiên bản 2.3 Gingerbread được ra đời cách đây hơn 2 năm. Trong khi phiên bản 4.0 Ice Cream Sandwich mới hơn, chỉ chiếm 23,3%. Điều này chứng tỏ rằng vẫn còn rất nhiều sản phẩm chạy Android đang phải “bằng lòng” với các phiên bản HĐH thấp hơn, cũ hơn. Không phải người dùng không muốn nâng cấp, đơn giản là sự giới hạn của phần cứng thiết bị và các hãng sản xuất đã “đem con bỏ chợ”, không hỗ trợ “lên đời” cho sản phẩm mình bán ra.

Những nguyên nhân chính gây ra sự phân mảnh của Android

1. Phân mảnh các phiên bản HĐH

Gingerbread với 34,1%, chiếm hơn 1/3 và là phiên bản phổ biến thứ 2 của Android, vẫn đang chiếm vị trí quan trọng với các nhà phát triển. Bởi cũng như Win XP của Microsoft, mặc dù đã cũ kĩ nhưng việc phổ biến quá rộng rãi khiến Microsoft (hay Google với Android) vẫn phải dành sự quan tâm đặc biệt, dù rất muốn loại bỏ để tập trung hướng người dùng vào các phiên bản mới hơn.

Android đang có nhiều phiên bản hệ điều hành khác nhau
Chưa kể còn đó những thiết bị đang chạy các phiên bản khác của Android như bản 2.2 Froyo với 3,1%, bản 4.0 Ice Cream Sandwich với 23,3%... Android của Google chắc chắn không thể bỏ rơi tất cả người dùng này được. Vì thế, các nhà phát triển phần mềm mỗi lần muốn tung cập nhật đều phải đảm bảo tính hoạt động ổn định trên nhiều nền tảng và các thiết bị khác nhau, một điều quá khó!
2. Sự phân mảnh về phần cứng

Nghe có vẻ không “ăn nhập” gì lắm khi đang phân tích về Android – một HĐH. Nhưng nếu chúng ta cùng suy ngẫm kĩ hơn một chút, sẽ thấy các vấn đề có mối quan hệ khá chặt chẽ. Nếu như thiết bị đầu tiên chạy Android (chiếc T-Mobile G1 của HTC) được trang bị đầy đủ bàn phím QWERTY đi kèm 5 phím bấm cứng và một Trackball thì giờ đây, điện thoại hầu như chỉ còn màn hình cảm ứng và phím ảo. Sự thay đổi nhanh chóng của các thiết bị về thiết kế phần cứng khiến cho chúng phân mảnh và làm khó các HĐH.

HTC T-Mobile G1, smartphone đầu tiên chạy Android ra mắt năm 2010
Hiểu một cách đơn giản, với con chip ARM và một bộ code lập trình riêng cho thiết bị này, bạn không thể áp dụng bộ code đó lên các thiết bị chạy chip của Intel. Chưa kể, sự phát triển như vũ bão của card màn hình, chip vi xử lý… đã sản sinh nhiều smartphone “khủng” hơn, nhanh hơn, yêu cầu HĐH mới để hỗ trợ và khai thác hết các tính năng phần cứng. Vì thế, đừng ngạc nhiên khi thấy chiếc điện thoại được gọi là “siêu phẩm” 2011 lại không thể nâng cấp lên phiên bản HĐH Android của năm 2013. Sự phân mảnh Android bắt đầu từ phân mảnh thiết bị được ra đời như vậy.
3. Không được hỗ trợ tốt từ nhà sẩn xuất

Có lẽ đây là nguyên nhân khá lớn nữa về vấn đề phân mảnh trên nền tảng Android. Ví dụ điển hình nhất có lẽ là dòng Nexus của chính Google, “mẹ đẻ” của Android.
Có quá nhiều sản phẩm chạy Android được sản xuất và không nhận được hỗ trợ từ nhà phát hành
Nexus là dòng điện thoại được Google chọn hợp tác với các tên tuổi lớn như HTC, LG hay Samsung để sản xuất và được coi là “thuần Android” nhất, được hỗ trợ tốt nhất. Thế nhưng, phiên bản đời đầu Nexus One ra mắt năm 2010 đã “mắc kẹt” ở Android 2.3 và rất có thể Nexus S sẽ “ở lại” với Android 4.1.2 mà không thể “leo cao” hơn được nữa. Chính “con đẻ” của Google còn không thể lên các phiên bản HĐH cao hơn, dù rằng ra đời không phải quá lâu. Đây cũng là điểm khiến Android phân mảnh nhiều hơn iOS khi HĐH của Apple đạt 22% thiết bị cập nhật iOS 6 chỉ sau 36 giờ và sau 1 tháng, con số này là 61%, minh chứng cho việc Apple và iOS hỗ trợ thiết bị cũ tốt hơn rất nhiều.

Những tín hiệu vui

Phân tích để thấy Android phát triển nhanh, mạnh nhưng vẫn còn đó những vấn đề nội tại như sự phân mảnh giữa các phiên bản. Nhưng đó không hẳn là một tin xấu. Bởi lẽ Google khác với Apple, và Android rất khác iOS.

Có thể hình tượng hóa Android là dành cho mọi người còn iOS thì “sang chảnh” và khép kín hơn. Nói vậy vì bản chất Android là nền tảng mã nguồn mở, hướng đến mọi đối tượng người dùng, chứ không đóng khung ở cấp cao như iOS với iPhone, iPad - những sản phẩm luôn đắt giá ở thời điểm ra mắt.

Chính yếu tốt phân mảnh đem đến sự đa dạng và chiến thắng cho Android trước iOS của Apple
Android phân mảnh cũng một phần vì sự “mở” của nó. Các hãng sản xuất có thể tùy biến để cho ra đời các thiết bị thuộc mọi phân khúc thị trường, từ bình dân, trung đến cao cấp. Chính sự “phủ sóng” rộng khắp như vậy mà Android đã “đánh chiếm” thành công vị trí số 1 của nền tảng iOS và trở thành HĐH phổ biến nhất.

Suy cho cùng, càng phân mảnh, càng chứng tỏ sự đa dạng và rộng khắp của Android, minh chứng cho thành công của Google. Vì thế, có lẽ trong tương lai gần, Google vẫn sẽ tiếp tục “khuyến khích” sự phân mảnh này, nhân tố đã và đang đem lại vị thế số 1 cho chính Android.

Apple và Samsung sẽ còn “lộng hành” đến hết 2014

Ít nhất là trong tương lai gần, các đối thủ nhỏ đừng nghĩ đến chuyện hạ bệ hai ông lớn Apple và Samsung, bởi họ sẽ còn thống trị gần như toàn bộ lợi nhuận và doanh số của thị trường.


Theo nghiên cứu mới nhất của hãng Gartner, đến năm 2014, ước tính sẽ có tới 2,5 tỉ thiết bị được bán ra trên toàn thế giới, tăng 6% so với năm nay. Hơn 75% trong số này sẽ là điện thoại di động, với hệ điều hành Android đạt thị phần hơn gấp đôi so với iOS của Apple.
Như vậy là rõ ràng, trong mọi điều kiện, hoàn cảnh và sai số thì Android sẽ vẫn là quán quân tuyệt đối khi có tới 42% trên tổng số 1,9 triệu ĐTDĐ xuất xưởng cài đặt hệ điều hành này. Tất nhiên, điều đó không có nghĩa nó là kẻ chiến thắng duy nhất hoặc nền tảng duy nhất thắng lớn về mặt tài chính.

Chỉ riêng trong quý I/2013, Apple đã thâu tóm tới 57% lợi nhuận của ngành công nghiệp di động toàn cầu. 43% lợi nhuận còn lại lọt vào tay Samsung. Đến quý II, Gartner dự đoán với sự ra mắt của Samsung Galaxy S4, cộng thêm việc Apple chưa thể giới thiệu được iPhone mới, gã khổng lồ Hàn Quốc sẽ vượt trước Apple về mặt lợi nhuận.

Một tín hiệu mừng cho hệ điều hành Windows của Microsoft là nền tảng này sẽ xuất hiện trong khoảng 15% số thiết bị được bán trong năm tới, cao hơn con số 14% của Apple.

Trong khi Apple hiện diện ở iPhone, iPad, MacBook thì Microsoft chủ yếu dựa vào các dòng máy tính, laptop và ultrabook cài Windows 8. Song tốc độ tăng trưởng doanh số của Microsoft và các đồng minh Windows sẽ vẫn chậm hơn so với Android hay Apple trong năm tới, Gartner lưu ý (17% so với 10%).

Apple có lợi thế về thiết kế phần cứng và phần mềm, trong khi Samsung đặc biệt mạnh về tự sản xuất các linh kiện sản phẩm. Apple mỗi năm chỉ ra mắt một phiên bản iPhone mới, còn Samsung cứ "tằng tằng" ra mắt sản phẩm mới mỗi tháng.

Điểm chung giữa hai hãng là ngân sách khủng dành cho quảng cáo, hiệu ứng dây chuyền và đà tăng trưởng đáng mơ ước. Cả hai thương hiệu đều được người dùng nhìn nhận là đáng tin cậy, thời trang và sành điệu.

iOS sắp bắt kịp Android tại thị trường di động Mỹ

Theo một thống kê vừa được công bố bởi công ty nghiên cứu thị trường Kantar, HĐH di động Android của Google vẫn giữ vị trí đứng đầu tại thị trường lớn Mỹ với 51,5% thị phần. Tuy nhiên iOS lại có mức tăng trưởng đáng kể.

Điều này cũng dễ hiểu khi mà số lượng các thiết bị Android bán ra luôn cao hơn các thiết bị chạy hệ điều hành khác. Trừ Nokia và Apple, thì hầu như các nhà sản xuất điện thoại lớn khác đều phát triển những sản phẩm chạy Android và tất nhiên Mỹ là một trong những thị trường họ ưu tiên phát hành.


Tuy nhiên nếu so sánh với cùng kì năm ngoái thì rõ ràng thị phần Android tại Mỹ đã có sự giảm nhẹ (thời điểm này năm ngoái Android chiếm đến 52,6% thị phần HĐH di động tại Mỹ). Cũng có thể thấy Apple đang rất nỗ lực để bắt kịp Google trên mảng HĐH di động khi thống kê cho thấy iOS đang chiếm 42,5% thị phần Mỹ, tăng 3,3% so với năm ngoái. Lí giải cho điều này Kantar cho rằng đó là nhờ sự xuất hiện của iOS 7 cũng như iPhone 5 đã được các nhà phân phối bán ra rộng rãi trên thị trường.

Áp lực từ vị trí thứ 3 đối với hai vị trí dẫn đầu là rất thấp khi mà Windows Phone của Microsoft chỉ tăng từ 2,9% năm ngoái lên 4%. Trong khi đó hệ điều hành của BlackBerry lại giảm từ 4% xuống mức 1,1%. Có thể nói để có thể đe dọa hai vị trí dẫn đầu thì các hệ điều hành di động còn lại phải cần có sự bức phá rất quyết liệt trong thời gian tới.

Thông kê của Kantar còn cho thấy nhà mạng Verizon đang dẫn đầu về doanh số bán ra các sản phẩm chạy Android với 35%, tiếp theo là Sprint, AT&T và T-Mobile chiếm 17%, 16%, 13% tương ứng. 40% doanh số bán ra của các thiết bị chạy iOS cũng thuộc về Verizon, trong khi AT&T chiếm 39%, Sprint 10% và 8% là từ T-Mobile.

Thứ Bảy, 20 tháng 7, 2013

Dịch Ngược File apk Trong Android

Công cụ cần có:
dex2jar (link : http://code.google.com/p/dex2jar ) dùng để dịch ngược file .APK thành file .JAR

jd-gui (link : http://java.decompiler.free.fr/?q=jdgui#downloads ) để đọc code java từ file JAR

(Chú ý: Khi giải nén file JAR ra, bạn sẽ thu được các lớp dưới dạng các file *.class, là dạng bytecode. Bạn cũng có thể sử dụng bất cứ công cụ Java Decompiler nào để đọc file JAR, ví dụ như DJ Java Decompiler)

Thực hiện:
Bước 1: Giải nén dex2jar. Mở CMD (command prompt) của windows, chỉ đến đường dẫn của dex2jar (có chứa file dex2jar.bat)

Bước 2: Copy file APK cần giải nén vào thư mục đó (Nếu để ở thư mục khác thì khi gõ lệnh bạn phải gõ đường dẫn tuyệt đối của file APK). Tại cửa sổ CMD gõ lệnh : dex2jar.bat <Tên file.apk>

Ví dụ : C:\\dex2jar\dex2jar.bat exam1.apk

Chương trình sẽ sinh ra một file exam1.JAR

Bước 3: Mở file JAR này bằng JD-GUI, bạn sẽ thấy được code java của chương trình.

Tuy nhiên, việc reverse này không đảm bảo toàn vẹn code, có nghĩa là bạn dịch ngược xong mang vào NetBean hay Eclipse không phải lúc nào cũng build được. Chúng ta chỉ sử dụng để tham khảo cấu trúc của chương trình.

Thứ Tư, 17 tháng 7, 2013

Phím tắt hay khi sử dung Eclipse lập trình Java_Android

Ctrl + space Code hinting
Ctrl + O Hiển thị và nhảy tới các thuộc tính, phương thức trong class hiện tại
Ctrl + M Đưa cửa sổ với file mà bạn đang làm việc về dạng maximum và ngược lại, nó đang ở dạng maximum thì tổ hợp phím này sẽ đưa nó về dạng un-maximum
Ctrl + L Đưa con trở đến 1 dòng nào đó, rất hữu ích với 1 file dài
Ctrl + Q Đưa con trỏ đến vị trí mà bạn vừa sửa.
Ctrl + D Xóa dòng hiện tại.
Alt + LeftArrow/ RightArrow Di chuyển con trỏ đến các vị trí mà bạn vừa sửa.
Ctrl + E Mở danh sách các file đang mở, cho phép tìm kiếm, và goto đến 1 file nào đó
Ctrl + H Open search dialog.
Alt + Up/Down Move dòng hiện tại lên hoặc xuống.
Ctrl+Shift+Enter Chèn thêm 1 dòng ở trên dòng hiện tại.
Ctrl+/ Thêm hoặc xóa comment ở dòng hoặc những dòng đc chọn.
Ctrl+F6 Di chuyển nhanh đến 1 file trong danh sách các file đang mở.
Ctrl+Up/Down Cuộn lên/xuống mà k0 làm thay đổi vị trí con trỏ.
Ctrl + Backspace Xóa 1 từ ngay phía trc con trỏ.
F11 Debug
Ctrl + F11 Run
F3 Xem nội dung của hàm đang được chọn (nếu hàm này ở file khác thì tự động mở file đó ra)
Ctrl + Shift + F Format code
Ctrl + Shift + R Mở nhanh 1 file (Hiện ra bảng và ta nhập vào tên file cần mở, có thể sử dụng wildcard)
Ctrl + Shift + X CHUYỂN ĐOẠN ĐƯỢC CHỌN SANG CHỮ HOA
Ctrl + Shift + Y Chuyển đoạn được chọn sang chữ thường
Ctrl + Alt + Down Copy 1 dòng vào bên dưới dòng đang đứng
Ctrl + Alt + Up Copy 1 dòng vào bên trên dòng đang đứng

Các câu lệnh cơ bản trong Linux

Lệnh liên quan đến hệ thống
* exit: thoát khỏi cửa sổ dòng lệnh.
* logout: tương tự exit.
* reboot: khởi động lại hệ thống.
* halt: tắt máy.
* startx: khởi động chế độ xwindows từ cửa sổ terminal.
* mount: gắn hệ thống tập tin từ một thiết bị lưu trữ vào cây thư mục chính.
* unmount: ngược với lệnh mount.
Lệnh thao tác trên tập tin
* ls: lấy danh sách tất cả các file và thư mục trong thư mục hiện hành.


* pwd: xuất đường dẫn của thư mục làm việc.
* cd: thay đổi thư mục làm việc đến một thư mục mới.
* mkdir: tạo thư mục mới.
* rmdir: xoá thư mục rỗng.
* cp: copy một hay nhiều tập tin đến thư mục mới.
* mv: đổi tên hay di chuyển tập tin, thư mục.
* rm: xóa tập tin.
* wc: đếm số dòng, số kí tự... trong tập tin.
* touch: tạo một tập tin.
* cat: xem nội dung tập tin.
* vi: khởi động trình soạn thảo văn bản vi.
* df: kiểm tra dung lượng đĩa.
* du: xem dung lượng đĩa đã dùng cho một số tập tin nhất định
Lệnh khi làm việc trên terminal
* clear: xoá trắng cửa sổ dòng lệnh.
* date: xem ngày, giờ hệ thống.
* cal: xem lịch hệ thống.
Lệnh quản lí hệ thống
* rpm: kiểm tra gói đã cài đặt hay chưa, hoặc cài đặt một gói, hoặc sử dụng để gỡ bỏ một gói.
* ps: kiểm tra hệ thống tiến trình đang chạy.
* kill: dừng tiến trình khi tiến trình bị treo. Chỉ có người dùng super-user mới có thể dừng tất cả các tiến trình còn người dùng bình thường chỉ có thể dừng tiến trình mà mình tạo ra.
* top: hiển thị sự hoạt động của các tiến trình, đặc biệt là thông tin về tài nguyên hệ thống và việc sử dụng các tài nguyên đó của từng tiến trình.
* pstree: hiển thị tất cả các tiến trình dưới dạng cây.
* sleep: cho hệ thống ngừng hoạt động trong một khoảng thời gian.
* useradd: tạo một người dùng mới.
* groupadd: tạo một nhóm người dùng mới.
* passwd: thay đổi password cho người dùng.
* userdel: xoá người dùng đã tạo.
* groupdel: xoá nhóm người dùng đã tạo.
* gpasswd: thay đổi password của một nhóm người dùng.
* su: cho phép đăng nhập với tư cách người dùng khác.
* groups: hiển thị nhóm của user hiện tại.
* who: cho biết ai đang đăng nhập hệ thống.
* w: tương tự như lệnh who.
* man: xem hướng dẫn về dòng lệnh như cú pháp, các tham số...

1 Số ví dụ


*** tạo user
useradd -c "mieuta" -m tenuser -g tengroup
*** tạo group
groupadd tengroup
*** xoa user
userdel tenuser
*** chuyen user sang group
usermod -g groupcanchuyen tenuser
*** tao thu muc CN08A trong thu muc root
mkdir /root /CN08A
*** tao thu muc hdh va CSDL trong CN08A
mkdir/root/CN08A/hdh
mkdir/root/CN08A/CSDL
*** tao tap tin thongtin.txt trong thu muc linux voi noi dung ten cua minh va mssv
cat >thongtin.txt
nguyen van A
mssv : 0123456789

*** copy thongtin.txt sang CN08A
cp data.txt CN08A
xem noi dung trong file thongtin.txt
vi data.txt
nhấn phím insert nếu bạn muốn chỉnh sửa nội dung file
nhấn :w nếu bạn muốn ghi lại thay đổi
nhấn :q để thoát
*** xóa file data.txt
rm data.txt
*** xóa 1 thư mục mà ko cần hỏi
rm -rf tenthumuc
*** di chuyen file vao thu muc
mv tenfile/tenthumuc
***xet quyen admin cho user = chuyen user vao group admin
usermod -g tengoupadmin tenuser
*** thay đổi pass cho user
Passwd user

Thứ Bảy, 6 tháng 7, 2013

200 Videos học lập trình Android


Những loạt video hướng dẫn học lập trình Android này,được sắp xếp bởi TheNewBoston,và những thành viên trên đó đã tải lên tổng cộng 200 đoạn video hướng dẫn khá cụ thể.Các danh sách bài học được sắp xếp khá thuận tiện cho bạn để học theo dễ dàng.Có thể nói,không gì dễ hơn bằng việc học theo video của họ.Các video bài học là thuộc dạng Youtube,do vậy bạn có thể xem nó ở bất kì đâu,bất kì lúc nào,và trên hầu hết tất cả thiết bị.Tính thuận tiện luôn là ưu tiên hàng đầu,đó là cái tôi luôn nói tới.


Tool hỗ trợ download trên Youtube:
Dưới đây là danh sách 200 clip hướng dẫn lập trình Android từ cơ bản đến nâng cao. Bấm vào link để xem trực tiếp hoặc download về thông qua tool IDM.

List 200 Videos “Android Application Development” 
1 – Download and Install the Java JDK
2 – Installing Eclipse and Setting up the ADT
3 – Installing Android SDK and Set up Emulator
4 – Setting up an Android Project
5 – Overview of Project and Adding Folders
6 – Introduction to Layouts in XML
7 – Creating A Button in XML and Adding an ID
8 – Setting up Variables and Referencing XML ids
9 – Set up a Button with OnClickListener
10 – Using setText method for our button
11 – Adding Resources and Setting Background
12 – Setting up an Activity and Using SetContentView
13 – Introduction to the Android Manifest
14 – The Framework of a Thread
15 – How to Start a New Activity via Intent
16 – Activity Life Cycle
17 – Adding Music with MediaPlaye
18 – Create a List Menu from the ListActivity class
19 – Setting up an ArrayAdapter
20 – Starting an Activity with a Class Object
21 – Finishing ListActivity
22 – XML Introducting the EditText
23 – XML ToggleButton, WeightSum, and Layout Weight
24 – XML Padding and Setting Toggle to On
25 – Quick Review by setting up a new Activity
26 – If Toggle Button is checked
27 – Set the Input Type of an EditText
28 – Comparing Strings with else if
29 – Set Gravity within Java
30 – Setting Color of a TextView in Java
31 – Wheres the Fridge, thats Random
32 – Switch and Case
33 – Creating a Method
34 – Implementing Classes for Better Programming
35 – XML ScrollView and AnalogClock
36 – Setting up An Email Activity
37 – PutExtra method for an Email Intent
38 – XML ImageView for Camera Application
39 – Starting an Activity for a Result
40 – Getting Data from a different Activity
41 – Finish Camera and Wallpaper App
42 – Using BitmapFactory and InputStream to set Bitmap
43 – Set Fixed Screen Orientation
44 – XML Relative Layout
45 – RadioButtons in a RadioGroup
46 – Set the Radio to the OnCheckedChangeListener
47 – Passing a String between Activities
48 – Recieving Bread String from Activity
49 – StartActivityForResult setup
50 – setResult for the Start Activity For Result
51 – Setting up a Menu with MenuInflater
52 – Making MenuItems do something
53 – Text Activity with Theme
54 – Setting up Preferences
55 – Setting up a String array resource
56 – Creating a PreferenceActivity
57 – Accessing Preferences from an Activity
58 – More with Preferences
59 – Altered Landscape Layout
60 – Creating Custom Buttons
61 – Full Screen Activities
62 – Custom Animation Class
63 – Using a Constructor to pass Context
64 – Drawing Bitmaps to Canvas View
65 – Animating a Bitmap
66 – Using the Asset Folder for Typeface
67 – Setting up a SurfaceView class
68 – Setting up Animation Thread
69 – Locking and Unlocking a Canvas
70 – Establishing a Better Animation Thread
71 – Setting up the OnTouch Method
72 – Defining a Class within a Class
73 – Graphics Trick
74 – MotionEvents and Motion Actions
75 – Game Programming concept
76 – Cleaning up some Errors
77 – Sleeping to Achieve desired FPS
78 – WakeLock to keep you app from sleeping
79 – SoundPool helps with explosions
80 – Using the OnLongClick method
81 – SlidingDrawer Example
82 – Introduction to the FrameLayout
83 – Methods of the SlidingDrawer
84 – Tabs setup with TabHost
85 – Setting up the TabHost in Java
86 – Creating Tabs in Java
87 – Getting the Time from the System
88 – Formatting and using the Modulus
89 – Create a Browser with WebView
90 – WebView navigation methods
91 – Set WebView Client for a Brower app
92 – WebView Settings
93 – Hiding the Keyboard
94 – ViewFlipper Example
95 – Saving Data with SharedPreferences
96 – SharedPreferences Editor
97 – Loading SharedPreferences Data
98 – File Output Stream for Internal Storage
99 – Writing Data to File Output Stream
100 – File Input Stream
101 – Async Task class to load stuff
102 – The 4 AsyncTask Methods
103 – ProgressDialog and Correction
104 – External Storage State
105 – Spinners and ArrayAdapter
106 – OnItemSelected and File Directories
107 – Toggling Visibility
108 – InputStream and OutputStream
109 – Write External Data Permission
110 – Media Scanner Connection
111 – TableLayout and Intro SQLite Database
112 – Setting up SQLite Database Variables
113 – SQLite class implementing SQLiteOpenHelper
114 – Creating SQLite Database
115 – Opening SQLite database to write
116 – Closing SQLite Database
117 – Inserting Data into SQLite Database
118 – How to Create a Dialog
119 – Setting up method to Read SQLite
120 – Reading SQLite Database with Cursor
121 – Setting up more SQLite methods
122 – Getting a Specific Entry
123 – Updating SQLite Entry
124 – Deleting Entry from SQLite Database
125 – Setting up a Accelerometer class
126 – Setting up Sensor Manager
127 – OnSensorChanged accelerometer method
128 – Finishing Accelerometer and unregistering
129 – Setting up a Google Maps Activity
130 – Obtaining Google Maps API debug key
131 – Displaying the MapView
132 – MapView Overlay
133 – Overlay MotionEvent time
134 – AlertDialog methods and ClickListener
135 – Compass and Map Controller
136 – Geocoder and GeoPoint
137 – Geocoding a Location for an Address
138 – Toggling Street and Satellite views
139 – ItemizedOverlay to draw on our Map
140 – Creating a Custom pinpoint
141 – Placing a Pinpoint on a MapView
142 – LocationManager and Location Permissions
143 – Criteria and getting Location
144 – Updating with OnLocationChanged method
145 – Exporting apk and signing keystore
146 – Obtaining Key for a specific Project
147 – Introduction to HttpClient
148 – Executing HttpGet on a Http Client
149 – Viewing Internet data via StringBuffer
150 – Introduction to JSON parsing
151 – JSONArrays and JSONObjects
152 – Appending with StringBuilder
153 – Reading JSON information
154 – Setting up XML Parsing Project
155 – StringBuilder and XML Parsing Framework
156 – Setting up a parsed XML data collection class
157 – SAXParserFactory and XMLReader
158 – Start Element method
159 – Finishing XML parser
160 – Creating a Widget receiver
161 – Setting up Widget Configuration Activity
162 – Basic Widget Design
163 – Updating and Deleting Widget
164 – Updating a Widget TextView
165 – Setting up Widget Configuration Class
166 – Relating Context with the Widget Manager
167 – PendingIntent and widget Buttons
168 – Introduction to OpenGL ES
169 – OpenGL Renderer Basics
170 – Rendering A Background
171 – OpenGl 2D vertices
172 – Byte and Float Buffers
173 – ShortBuffer to handle Indices
174 – Creating Draw method for OpenGL
175 – glDrawElements method
176 – OpenGL Boosting Performance
177 – On Surface Changed
178 – Using GLU to set up the Camera
179 – 3D Cube Intro
180 – Indices of a Cube
181 – OpenGL Culling
182 – 3D Rotation
183 – OpenGL Vertex Color Buffer
184 – Stock Android SDK Themes
185 – Voice Recognition
186 – Voice Recognition Result
187 – Text to Speech
188 – Set Language and Speak
189 – Notifiying Status Bar
190 – Setting up a Notification
191 – Notification Manager Methods
192 – AudioManager Methods
193 – Changing the Volume with a SeekBar
194 – Downloading Admob SDK
195 – Adding External Jar
196 – Adding Admob Ad via XML
197 – Adding Ad Unit Id and Ad Size
198 – Adding Admob Ads via Java
199 – Putting an App on the Market
200 – Updating Application


Bài đăng phổ biến