Thứ Năm, 28 tháng 2, 2019

Đào tạo Android - Android - Trình phân tích cú pháp JSON

JSON là viết tắt của JavaScript Object Notation. Đây là một định dạng trao đổi dữ liệu độc lập và là sự thay thế tốt nhất cho XML. Chương này giải thích cách phân tích tệp JSON và trích xuất thông tin cần thiết từ nó.

Đào tạo Android cung cấp bốn lớp khác nhau để thao tác dữ liệu JSON. Các lớp này là JSONArray, JSONObject, JSONStringer và JSONTokenizer.

Học lập trình Android chuyên nghiệp
Học lập trình Android chuyên nghiệp

Bước đầu tiên là xác định các trường trong dữ liệu JSON mà bạn quan tâm. Ví dụ. Trong JSON được đưa ra dưới đây, chúng tôi chỉ quan tâm đến việc nhận nhiệt độ.
{
   "sys":
   {
      "country":"GB",
      "sunrise":1381107633,
      "sunset":1381149604
   },
   "weather":[
      {
         "id":711,
         "main":"Smoke",
         "description":"smoke",
         "icon":"50n"
      }
   ],
 
  "main":
   {
      "temp":304.15,
      "pressure":1009,
   }
}

JSON - Các phần tử


Một tệp JSON bao gồm nhiều thành phần. Đây là bảng xác định các thành phần của tệp JSON và mô tả của chúng Đào tạo Android.

Không.Thành phần và mô tả
1Mảng([)

Trong tệp JSON, dấu ngoặc vuông ([) biểu thị một mảng JSON
2Các đối tượng({)
Trong tệp JSON, dấu ngoặc nhọn ({) đại diện cho một đối tượng JSON
3Chìa khóa

Một đối tượng JSON chứa một khóa chỉ là một chuỗi. Các cặp khóa / giá trị tạo thành một đối tượng JSON
4Giá trị
Mỗi khóa có một giá trị có thể là chuỗi, số nguyên hoặc gấp đôi, v.v.

JSON - Phân tích cú pháp

Để phân tích cú pháp một đối tượng JSON, chúng tôi sẽ tạo một đối tượng của lớp JSONObject và chỉ định một chuỗi chứa dữ liệu JSON cho nó. Cú pháp của nó là

String in;
JSONObject reader = new JSONObject(in);

Bước cuối cùng là phân tích JSON. Một tệp JSON bao gồm các đối tượng khác nhau với cặp khóa / giá trị khác nhau, v.v. Vì vậy, Đào tạo Android JSONObject có một chức năng riêng để phân tích từng thành phần của tệp JSON. Cú pháp của nó được đưa ra dưới đây
JSONObject sys  = reader.getJSONObject("sys");
country = sys.getString("country");
   
JSONObject main  = reader.getJSONObject("main");
temperature = main.getString("temp");
Phương thức getJSONObject trả về đối tượng JSON. Phương thức getStringtrả về giá trị chuỗi của khóa được chỉ định.

Ngoài các phương thức này, còn có các phương thức khác được cung cấp bởi lớp này để phân tích cú pháp các tệp JSON tốt hơn. Các phương pháp này được liệt kê dưới đây

Không.Phương pháp & mô tả
1lấy (Tên chuỗi)

Phương thức này chỉ trả về giá trị nhưng ở dạng Object
2getBoolean (Tên chuỗi)
Phương thức này trả về giá trị boolean được chỉ định bởi khóa
3getDouble (Tên chuỗi)

Phương thức này trả về giá trị kép được chỉ định bởi khóa
4getInt (Tên chuỗi)
Phương thức này trả về giá trị nguyên được chỉ định bởi khóa
5getLong (Tên chuỗi)

Phương thức này trả về giá trị dài được chỉ định bởi khóa
6chiều dài()
Phương thức này trả về số ánh xạ tên / giá trị trong đối tượng này ..
7tên ()
Phương thức này trả về một mảng chứa các tên chuỗi trong đối tượng này.
Thí dụ

Để thử nghiệm với ví dụ này, bạn có thể chạy nó trên một thiết bị thực tế hoặc trong một trình giả lập.

Các bướcSự miêu tả
1Bạn sẽ sử dụng studio Android để tạo một ứng dụng Android.
2Sửa đổi tệp src / MainActivity.java để thêm mã cần thiết.
3Sửa đổi res / layout / Activity_main để thêm các thành phần XML tương ứng
4Sửa đổi res / value / string.xml để thêm các thành phần chuỗi cần thiết
5Chạy ứng dụng và chọn một thiết bị Android đang chạy và cài đặt ứng dụng trên đó và xác minh kết quả
Sau đây là nội dung của tệp hoạt động chính được sửa đổi src / MainActivity.java .

Sau đây là nội dung được sửa đổi của xml HttpHandler.java .

Sau đây là nội dung được sửa đổi của xml res / layout / Activity_main.xml.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.tutorialspoint7.myapplication.MainActivity">

   <ListView
      android:id="@+id/list"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content" />
</RelativeLayout>
Sau đây là nội dung được sửa đổi của xml res / layout / list_item.xml .

Sau đây là nội dung của tệp Đào tạo Android Manifest.xml .
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.tutorialspoint7.myapplication">

   <uses-permission android:name="android.permission.INTERNET"/>
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:supportsRtl="true"
      android:theme="@style/AppTheme">
         <activity android:name=".MainActivity">
            <intent-filter>
               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>
Hãy thử chạy ứng dụng của chúng tôi, chúng tôi vừa sửa đổi. Tôi giả sử bạn đã tạo AVD của mình trong khi thực hiện thiết lập môi trường.

Để chạy ứng dụng từ studio Đào tạo Android, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào biểu tượng Chạy từ thanh công cụ.

Android studio cài đặt ứng dụng trên AVD của bạn và khởi động nó và nếu mọi thứ đều ổn với thiết lập và ứng dụng của bạn, nó sẽ hiển thị theo cửa sổ Trình mô phỏng

Trên Ví dụ hiển thị dữ liệu từ chuỗi json, Dữ liệu có chứa thông tin chi tiết về nhà tuyển dụng cũng như thông tin về lương.

Thứ Tư, 27 tháng 2, 2019

Đào tạo Android - Android - Máy bay phản lực

Nền tảng Đào tạo Android bao gồm một công cụ JET cho phép bạn thêm phát lại tương tác nội dung âm thanh JET trong các ứng dụng của bạn. Android cung cấp lớp JetPlayer để xử lý công cụ này.

Để Jet Content, bạn cần sử dụng công cụ JetCreator đi kèm với AndroidSDK. Việc sử dụng jetCreator đã được thảo luận trong ví dụ này. Để phát nội dung được tạo bởi JetCreator, bạn cần lớp JetPlayer được Android hỗ trợ.

Học lập trình Android chuyên nghiệp
Học lập trình Android chuyên nghiệp

Để sử dụng JetPlayer, bạn cần khởi tạo một đối tượng của lớp JetPlayer. Cú pháp của nó được đưa ra dưới đây

JetPlayer jetPlayer = JetPlayer.getJetPlayer();

Điều tiếp theo bạn cần làm là gọi phương thức loadJetFile và chuyển qua đường dẫn của tệp Jet của bạn. Sau đó, bạn phải thêm phần này vào Hàng đợi của JetPlayer. Cú pháp của nó được đưa ra dưới đây
jetPlayer.loadJetFile("/sdcard/level1.jet");
byte segmentId = 0;

// queue segment 5, repeat once, use General MIDI, transpose by -1 octave
jetPlayer.queueJetSegment(5, -1, 1, -1, 0, segmentId++);
Phương thức queueJetSegment Xếp hàng phân đoạn đã chỉ định trong Hàng đợi JET. Điều cuối cùng bạn cần là gọi phương thức chơi để bắt đầu phát nhạc. Cú pháp của nó được đưa ra dưới đây

jetPlayer.play();

Ngoài các phương thức này, còn có các phương thức khác được định nghĩa trong lớp JetPlayer. Chúng được định nghĩa dưới đây

Không.Phương pháp & mô tả
1ClearQueue ()

Làm trống hàng đợi phân đoạn và xóa tất cả các clip được lên lịch để phát lại
2closeJetFile ()
Đóng tài nguyên chứa nội dung JET
3getJetPlayer ()

Phương thức xuất xưởng cho lớp JetPlayer
4loadJetFile (Đường dẫn chuỗi)
Tải tệp .jet từ một đường dẫn cụ thể
5tạm ngừng()

Tạm dừng phát lại hàng đợi phân đoạn JET
6giải phóng()

Dừng phát lại JET hiện tại và giải phóng tất cả các tài nguyên bản địa được liên kết
Ví dụ sau đây cho thấy việc sử dụng công cụ JetCreator để tạo nội dung Jet. Khi nội dung đó được tạo, Đào tạo Android có thể phát nội dung đó qua JetPlayer.
Để thử nghiệm với ví dụ này, bạn cần chạy nó trên một thiết bị thực tế hoặc trong một trình giả lập.

Các bướcSự miêu tả
1Bạn sẽ sử dụng IDE studio Android để tạo ứng dụng Android và đặt tên là JetPlayer theo gói com.example.jetplayer.
2Cài đặt Python và WxPython trên máy tính của bạn từ internet.
3Chạy trình tạo phản lực từ dấu nhắc lệnh
4Tạo nội dung Jet và sau đó lưu nó
5Chạy ứng dụng và xác minh kết quả

Sử dụng JetCreator

Cài đặt python

Bước đầu tiên mà bạn cần trong khi sử dụng JetCreator là cài đặt python. Con trăn có thể được cài đặt từ trang web chính thức của nó ở đây hoặc từ bất kỳ nơi nào khác trên internet.

Xin lưu ý số phiên bản của con trăn nên là 2.6 hoặc 2.7 vì ví dụ này tuân theo điều đó.

Một khi bạn tải python cài đặt nó. Sau khi cài đặt, bạn phải đặt đường dẫn đến python. Mở dấu nhắc lệnh của bạn và gõ lệnh sau. Nó được hiển thị trong hình dưới đây

Khi đường dẫn được đặt, bạn có thể xác minh nó bằng cách nhập python và nhấn enter. Nó được hiển thị dưới đây

Cài đặt WxPython

Điều tiếp theo bạn cần làm là cài đặt wxPython. Nó có thể được tải về ở đây. Sau khi tải về, bạn sẽ cài đặt nó. Nó sẽ được tự động cài đặt trong thư mục python.

Phá hủy JetCreator

Điều tiếp theo bạn cần là di chuyển đến đường dẫn có JetCreator. Nó nằm trong các công cụ, thư mục SDK của Đào tạo Android. Nó được hiển thị dưới đây

Khi vào thư mục, gõ lệnh này và nhấn enter.
python JetCreator.py

Nó được hiển thị trong hình dưới đây


Ngay khi bạn nhấn enter, cửa sổ Jet Creator sẽ mở. Nó sẽ là một cái gì đó như thế này.

Tạo JetContent

Trong Cửa sổ phản lực ở trên, nhấp vào nút nhập. Và chọn JetCreator_demo_1 hoặc 2 từ JetFolder từ thư mục nội dung demo trong thư mục Jet. Nó được hiển thị trong hình dưới đây:

Khi bạn nhập nội dung, Đào tạo Android sẽ thấy nội dung trong cửa sổ JetCreator. Nó được hiển thị dưới đây

Bây giờ bạn có thể khám phá các tùy chọn khác nhau của JetCreator bằng cách truy cập liên kết JetCreator tại đây . Cuối cùng, để tạo tệp .jet, bạn cần lưu nội dung từ menu tệp.

Xác minh kết quả

Khi bạn đã nhận được tệp phản lực, bạn có thể phát nó bằng trình phát phản lực. Mã chính của trò chơi đã được đưa ra dưới đây
JetPlayer jetPlayer = JetPlayer.getJetPlayer();
jetPlayer.loadJetFile("/sdcard/level1.jet");
byte segmentId = 0;

// queue segment 5, repeat once, use General MIDI, transpose by -1 octave
jetPlayer.queueJetSegment(5, -1, 1, -1, 0, segmentId++);
jetPlayer.play();

Thứ Ba, 26 tháng 2, 2019

Đào tạo Android - Android - Bộ nhớ trong

Học lập trình Android cung cấp nhiều loại lưu trữ cho các ứng dụng để lưu trữ dữ liệu của họ. Những nơi lưu trữ này là các tùy chọn chia sẻ, lưu trữ bên trong và bên ngoài, lưu trữ SQLite và lưu trữ thông qua kết nối mạng.

Trong chương này chúng ta sẽ xem xét lưu trữ nội bộ. Bộ nhớ trong là bộ lưu trữ dữ liệu riêng tư trên bộ nhớ thiết bị.

Học lập trình Android chuyên nghiệp
Học lập trình Android chuyên nghiệp

Theo mặc định, các tệp này là riêng tư và chỉ được truy cập bởi ứng dụng của bạn và bị xóa, khi người dùng xóa ứng dụng của bạn.

Viết tập tin


Để sử dụng bộ nhớ trong để ghi một số dữ liệu trong tệp, hãy gọi phương thức openFileOutput () với tên của tệp và chế độ. Chế độ có thể là riêng tư, công khai, Học lập trình Android vv Cú pháp của nó được đưa ra dưới đây
FileOutputStream fOut = openFileOutput("file name here",MODE_WORLD_READABLE);
Phương thức openFileOutput () trả về một thể hiện của FileOutputStream. Vì vậy, bạn nhận được nó trong đối tượng của FileInputStream.

Sau đó, bạn có thể gọi phương thức write để ghi dữ liệu vào tập tin. Cú pháp của nó được đưa ra dưới đây
String str = "data";
fOut.write(str.getBytes());
fOut.close();

Đọc tập tin

Để đọc từ tệp bạn vừa tạo, hãy gọi phương thức openFileInput () với tên của tệp. Nó trả về một thể hiện của FileInputStream. Cú pháp của nó được đưa ra dưới đây
FileInputStream fin = openFileInput(file);
Sau đó, bạn có thể gọi phương thức đọc để đọc từng ký tự từ tệp và sau đó bạn có thể in nó. Cú pháp của nó được đưa ra dưới đây
int c;
String temp="";
while( (c = fin.read()) != -1){
   temp = temp + Character.toString((char)c);
}

//string temp contains all the data of the file.
fin.close();
Ngoài các phương thức ghi và đóng, còn có các phương thức khác được cung cấp bởi lớp FileOutputStream để ghi tệp tốt hơn. Các phương pháp này được liệt kê dưới đây

Không.Phương pháp & mô tả
1FileOutputStream (Tệp tệp, phụ lục boolean)
Phương thức này xây dựng một FileOutputStream mới ghi vào tệp.
2getChannel ()

Phương thức này trả về một FileChannel chỉ ghi chia sẻ vị trí của nó với luồng này
3getFD ()

Phương thức này trả về bộ mô tả tập tin cơ bản
4write (byte [] đệm, int byte Offerset, int byteCount)

Phương thức này Ghi số byte từ bộ đệm mảng byte bắt đầu tại vị trí bù vào luồng này
Ngoài các phương thức đọc và đóng, còn có các phương thức khác được cung cấp bởi lớp FileInputStream để đọc các tệp tốt hơn. Các phương pháp này được liệt kê dưới đây

Không.Phương pháp & mô tả
1có sẵn ()
Phương thức này trả về số byte ước tính có thể đọc hoặc bỏ qua mà không chặn để có thêm đầu vào
2getChannel ()
Phương thức này trả về một FileChannel chỉ đọc chia sẻ vị trí của nó với luồng này
3getFD ()

Phương thức này trả về bộ mô tả tập tin cơ bản
4bộ đệm đọc (byte [], int byte Offerset, int byteCount)
Phương thức này đọc tối đa các byte có độ dài từ luồng này và lưu trữ chúng trong mảng byte b bắt đầu từ offset
Dưới đây là một ví dụ minh họa việc sử dụng bộ nhớ trong để lưu trữ và đọc tệp. Nó tạo ra một ứng dụng lưu trữ cơ bản cho phép bạn đọc và ghi từ bộ nhớ trong.

Để thử nghiệm với ví dụ này, bạn có thể chạy nó trên một thiết bị thực tế hoặc trong một trình giả lập.

Các bướcSự miêu tả
1Bạn sẽ sử dụng Android Studio IDE để tạo một ứng dụng Android theo gói com.example.sairamkrishna.myapplication.
2Sửa đổi tệp src / MainActivity.java để thêm mã cần thiết.
3Sửa đổi res / layout / Activity_main để thêm các thành phần XML tương ứng
4Chạy ứng dụng và chọn một thiết bị Android đang chạy và cài đặt ứng dụng trên đó và xác minh kết quả
Sau đây là nội dung của tệp hoạt động chính được sửa đổi src / MainActivity.java .

Sau đây là nội dung được sửa đổi của xml res / layout / Activity_main.xml.

Trong đoạn mã sau abc chỉ ra logo của guidespoint.com

Sau đây là nội dung của res / value / string.xml .
<resources>
   <string name="app_name">My Application</string>
</resources>
Sau đây là nội dung của tệp AndroidManifest.xml .
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >
   <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>
Hãy thử chạy ứng dụng Lưu trữ mà chúng tôi vừa sửa đổi. Tôi giả sử bạn đã tạo AVD của mình trong khi thực hiện thiết lập môi trường.

Để chạy ứng dụng từ studio Học lập trình Android, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào biểu tượng Chạy từ thanh công cụ.

Android studio cài đặt ứng dụng trên AVD của bạn và khởi động nó và nếu mọi thứ đều ổn với thiết lập và ứng dụng của bạn, nó sẽ hiển thị theo cửa sổ Trình mô phỏng

Bây giờ những gì bạn cần làm là nhập bất kỳ văn bản nào trong trường. Ví dụ, tôi đã nhập một số văn bản. Nhấn nút lưu. Thông báo sau sẽ xuất hiện trong AVD của bạn

Bây giờ khi bạn nhấn nút tải, ứng dụng sẽ đọc tệp và hiển thị dữ liệu. Trong trường hợp của chúng tôi, dữ liệu sau sẽ được trả lại

Lưu ý rằng bạn thực sự có thể xem tệp này bằng cách chuyển sang tab DDMS. Trong DDMS, chọn trình duyệt tệp và điều hướng đường dẫn này.

Thứ Hai, 25 tháng 2, 2019

Đào tạo Android - Android - Trình chuyển đổi hình ảnh

Đôi khi bạn không muốn một hình ảnh xuất hiện đột ngột trên màn hình, thay vào đó bạn muốn áp dụng một số loại hoạt hình cho hình ảnh khi nó chuyển từ hình ảnh này sang hình ảnh khác. Điều này được hỗ trợ bởi khoá học lập trình Android ở hà nội dưới dạng ImageSwitcher.

Trình chuyển đổi hình ảnh cho phép bạn thêm một số hiệu ứng chuyển tiếp trên hình ảnh thông qua cách chúng xuất hiện trên màn hình. 

Khóa đào tạo lập trình Android ở hà nội
Khóa đào tạo lập trình Android ở hà nội

Để sử dụng Trình chuyển đổi hình ảnh, trước tiên bạn cần xác định thành phần XML của nó. Cú pháp của nó được đưa ra dưới đây
<ImageSwitcher
   android:id="@+id/imageSwitcher1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:layout_centerHorizontal="true"
   android:layout_centerVertical="true" >
</ImageSwitcher>
Bây giờ chúng tôi tạo ra một ý định của ImageSwithcer trong tệp java và lấy tham chiếu của thành phần XML này. Cú pháp của nó được đưa ra dưới đây

private ImageSwitcher imageSwitcher;
imageSwitcher = (ImageSwitcher)findViewById(R.id.imageSwitcher1);

Điều tiếp theo chúng ta cần thực hiện giao diện ViewFactory và thực hiện phương thức chưa thực hiện để trả về một imageView. Cú pháp của nó là bên dưới
imageSwitcher.setImageResource(R.drawable.ic_launcher);
imageSwitcher.setFactory(new ViewFactory() {
   public View makeView() {
      ImageView myView = new ImageView(getApplicationContext());
      return myView;
   }
}
Điều cuối cùng bạn cần làm là thêm Animation vào ImageSwitcher. Bạn cần xác định một đối tượng của lớp Animation thông qua lớp AnimationUtilities bằng cách gọi loadAnimation của phương thức tĩnh. Cú pháp của nó được đưa ra dưới đây
Animation in = AnimationUtils.loadAnimation(this,android.R.anim.slide_in_left);
imageSwitcher.setInAnimation(in);
imageSwitcher.setOutAnimation(out);         
Phương thức setInAnimaton thiết lập hình ảnh động về sự xuất hiện của đối tượng trên màn hình trong khi setOutAnimation thì ngược lại. Phương thức loadAnimation () tạo một đối tượng hoạt hình.

Ngoài các phương thức này, còn có các phương thức khác được định nghĩa trong lớp ImageSwitcher. Chúng được định nghĩa dưới đây

Không.Phương pháp & mô tả
1setImageDrawable (Drawable drawable)

Đặt một hình ảnh với trình chuyển đổi hình ảnh. Hình ảnh được truyền dưới dạng bitmap
2setImageResource (int dư)

Đặt một hình ảnh với trình chuyển đổi hình ảnh. Hình ảnh được truyền dưới dạng id số nguyên
3setImageURI (Uri uri)
Đặt một hình ảnh với trình chuyển đổi hình ảnh. Hình ảnh này được truyền dưới dạng URI
4ImageSwitcher (Bối cảnh bối cảnh, Attrs Set Attrs)
Trả về một đối tượng trình chuyển đổi hình ảnh với việc thiết lập một số thuộc tính được truyền trong phương thức
5onInitializeAccessibilityEvent (sự kiện AccessEvent)

Khởi tạo một AccessEvent với thông tin về Chế độ xem này là nguồn sự kiện
6onInitializeAccessibilityNodeInfo (thông tin AccessNodeInfo)
Khởi tạo một AccessNodeInfo với thông tin về chế độ xem này
Ví dụ dưới đây cho thấy một số hiệu ứng chuyển đổi hình ảnh trên bitmap. Nó tạo ra một ứng dụng cơ bản cho phép bạn xem các hiệu ứng hoạt hình trên hình ảnh.

Để thử nghiệm với ví dụ này, khoá học lập trình Android ở hà nội bạn cần chạy nó trên một thiết bị thực tế.

Các bướcSự miêu tả
1Bạn sẽ sử dụng IDE studio Android để tạo ứng dụng Android theo gói com.example.sairamkrishna.myapplication.
2Sửa đổi tệp src / MainActivity.java để thêm mã cần thiết.
3Sửa đổi res / layout / Activity_main để thêm các thành phần XML tương ứng
4Chạy ứng dụng và chọn một thiết bị Android đang chạy và cài đặt ứng dụng trên đó và xác minh kết quả
Sau đây là nội dung của tệp hoạt động chính được sửa đổi src / MainActivity.java .

Trong đoạn mã dưới đây, tp và abc biểu thị logo của tutspoint.com
package com.example.sairamkrishna.myapplication;

import android.app.Activity;
import android.app.ActionBar.LayoutParams;
import android.os.Bundle;
import android.view.View;

import android.widget.Button;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.Toast;
import android.widget.ViewSwitcher.ViewFactory;

public class MainActivity extends Activity {
   private ImageSwitcher sw;
   private Button b1,b2;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      b1 = (Button) findViewById(R.id.button);
      b2 = (Button) findViewById(R.id.button2);

      sw = (ImageSwitcher) findViewById(R.id.imageSwitcher);
      sw.setFactory(new ViewFactory() {
         @Override
         public View makeView() {
            ImageView myView = new ImageView(getApplicationContext());
            myView.setScaleType(ImageView.ScaleType.FIT_CENTER);
            myView.setLayoutParams(new 
               ImageSwitcher.LayoutParams(LayoutParams.WRAP_CONTENT,
                  LayoutParams.WRAP_CONTENT));
            return myView;
         }
      });

      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            Toast.makeText(getApplicationContext(), "previous Image",
               Toast.LENGTH_LONG).show();
            sw.setImageResource(R.drawable.abc);
         }
      });

      b2.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            Toast.makeText(getApplicationContext(), "Next Image",
               Toast.LENGTH_LONG).show();
            sw.setImageResource(R.drawable.tp);
         }
      });
   }
}
Sau đây là nội dung được sửa đổi của xml res / layout / Activity_main.xml.

Sau đây là nội dung của tệp String.xml .
<resources>
    <string name="app_name">My Application</string>
    <string name="left"><![CDATA[<]]></string>
    <string name="right"><![CDATA[>]]></string>
</resources>
Sau đây là nội dung của tệp khoá học lập trình Android ở hà nội  Manifest.xml .
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication"

   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name="com.example.sairamkrishna.myapplication.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>
Hãy thử chạy ứng dụng của bạn, chúng tôi vừa sửa đổi. Tôi giả sử bạn đã tạo AVD của mình trong khi thực hiện thiết lập môi trường.

Để chạy ứng dụng từ studio Android, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào biểu tượng Chạy từ thanh công cụ.

khoá học lập trình Android ở hà nội studio cài đặt ứng dụng trên AVD của bạn và khởi động nó và nếu mọi thứ đều ổn với thiết lập và ứng dụng của bạn, nó sẽ hiển thị theo cửa sổ Trình mô phỏng

Bây giờ nếu bạn nhìn vào màn hình thiết bị của mình, bạn sẽ thấy hai nút.

Bây giờ chỉ cần chọn nút trên đó mũi tên phải. Một hình ảnh sẽ xuất hiện từ bên phải và di chuyển sang trái. Nó được hiển thị dưới đây

Bây giờ chạm vào nút bên dưới, điều đó sẽ mang lại hình ảnh trước đó với một số chuyển đổi. Nó được hiển thị dưới đây

Lập trình Android - RenderScript

Trong chương này, chúng ta sẽ tìm hiểu về Android RenderScript. Thông thường các ứng dụng trên Android được thiết kế để tiêu thụ tài nguyên ...