cuốn sách gpt4 ai đã làm

Cách đưa chính xác các lớp hệ điều hành Android vào các bài kiểm tra JUnit

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 15:22:52 26 4
mua khóa gpt4 Nike

Tôi đang viết một đoạn mã để sử dụng với ứng dụng Android. Tôi đang thử một vài thứ, vì vậy tôi có một số bài kiểm tra rất bẩn (tức là được đóng gói kém nhưng hợp lệ). Vấn đề là gần đây tôi đã cố gắng đưa vào thử nghiệm để tạo đối tượng mô hình. Tuy nhiên, để sử dụng Hoạt động Android tốt hơn, tôi đang triển khai Parcelable. Vì vậy, khi tôi thử chạy thử nghiệm, tôi thấy...

Nguyên nhân do: java.lang.ClassNotFoundException: android.os.Parcelable tại java.net.URLClassLoader$1.run(URLClassLoader.java:359) tại java.net.URLClassLoader$1.run(URLClassLoader.java:348) tại java.security .AccessController.doPrivileged(Phương thức gốc) tại java.net.URLClassLoader.findClass(URLClassLoader.java:347) và java.lang.ClassLoader.loadClass(ClassLoader.java:423) tại sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) tại java.lang .ClassLoader.loadClass(ClassLoader.java:356) ... 38 thêm

Tôi đã thử thêm các thư mục sau vào đường dẫn lớp của mình (trong cấu hình gỡ lỗi trong Eclipse)

ADT/sdk/nền tảng/android-10/data/android/os

Nhưng tôi vẫn nhận được lỗi. Nếu không tạo toàn bộ gói lớn chạy trên thiết bị thực tế, có cách nào để bao gồm một cái lọ hoặc thứ gì đó để làm cho nó hoạt động không?

câu trả lời hay nhất

Đây là ý tưởng của tôi về việc tách Parcelable khỏi lớp mô hình. Đây là một ví dụ...

gói com.gleason.apahelper.model.parcelable;

Nhập java.util.ArrayList; nhập java.util.List;

nhập com.gleason.apahelper.model.Team;

Nhập android.os.Parcel; nhập android.os.Parcelable;

lớp công khai TeamParcel triển khai Parcelable{
đội ngũ riêng;

public static TeamParcel[] getParcelable(List team){
TeamParcel[] bưu kiện = new TeamParcel[teams.size()];
for(int i = 0; i < Team.size(); i++){
bưu kiện [i] = TeamParcel mới();
bưu kiện[i].team =teams.get(i);
}
trả lại bưu kiện;
}


Danh sách tĩnh công khai getTeams(TeamParcel[] bưu kiện){
List list = new ArrayList();
for(TeamParcel bưu kiện : bưu kiện){
list.add(parcel.team);
}
danh sách trả lại;
}
Nhóm công khaiParcel(){
}

public TeamParcel(Parcel in){
Chuỗi [] dữ liệu = Chuỗi mới [2];
in.readStringArray(dữ liệu);
đội = Đội mới();
team.setTeamId(Integer.parseInt(data[0]));
team.setTeamName(data[1]);
}

@Ghi đè
công khai int mô tảContents() {
// TODO sơ khai phương thức được tạo tự động
return 0;
}
@Ghi đè
public void writeToParcel(Parcel đích, int flag) {
dest.writeStringArray(Chuỗi mới[] {String.valueOf(team.getTeamId()),
team.getTeamName()});
}
công khai tĩnh cuối cùng Parcelable.Creator CREATOR = new Parcelable.Creator() {
public TeamParcel createFromParcel(Parcel in) {
trả về TeamParcel mới(trong);
}
public TeamParcel[] newArray(int size) {
trả lại TeamParcel[size] mới;
}
};


}

Tôi chưa kiểm tra đầy đủ nên tôi sẽ không chấp nhận câu trả lời này, nhưng nó có vẻ hiệu quả. Tôi sẽ vui vẻ chấp nhận câu trả lời tốt hơn (hoặc giải thích tốt hơn).

Về java - cách đưa chính xác các lớp hệ điều hành Android vào các bài kiểm tra JUnit, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/20229004/

26 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress