QT Android - ảnh hiển thị cho app android

Mình đang viết 1 app android bằng QT, trong app có sử dụng các file ảnh để hiển thị. Mình có thể deploy các file ảnh vào thư mục assets rồi khi app chạy sẽ đọc ảnh từ đó. Nhưng mình muốn app đọc ảnh từ 1 thư mục public mà user có thể chỉnh sửa được các file ảnh. Không biết có cách nào ko nhỉ? Trước đây mình copy tay thư mục ảnh vào Device Storage rồi tiến hành cho app đọc path tại vị trí đó, nhưng cách làm đó chỉ mang tính tạm thời vì nếu chỉ chuyển file apk cho device thì app sẽ không thể chạy được. Mong mng giúp mình. Vì mình chưa biết nhiều android mong mng giúp đỡ :slight_smile:

sao lại ko chạy được bạn nhỉ, đơn gian là khi mở app lần đầu bạn chỉ cần chạy 1 thread ngầm copy toàn bộ ảnh từ asset của ra 1 thư mục trong máy là được, ngoài ra để giảm dung lượng file apk bạn cũng có thể tải ảnh lên cloud storage rồi chạy thread để lưu vào thư mục trong máy

2 Likes

Mình hiểu ý bạn rồi :smiley: nhưng mình đang nghĩ đến việc can thiệp vào file apk, để khi install file apk nó sẽ làm cái việc copy đó :smiley: nhưng cũng đang hơi mù mờ chưa tìm hiểu được can thiệp vào chỗ thằng sdk nó tạo ra file apk như nào :v

Ý tưởng cá nhân:

Mình không nhầm thì thằng Qt nó đọc file nếu file path bạn trỏ bắt đầu bằng dấu 2 chấm “:” thì nó sẽ đọc nội dung file được compiler nén vào. Các file này là khi bạn sử dụng chức năng add resource của Qt.

Khi build ra app, Qt tự generate các file đó vào chung một chỗ và lưu thành dạng opcode. Tất cả resource sẽ chung chỗ với file thực thi.

Trên android có lẽ cũng tương tự, file apk nó như file zip. Nếu truy cập trực tiếp file đó rồi lôi dữ liệu ra cũng không sao, tuy nhiên mình thấy nó không phải best case.

Ý tưởng của mình là bạn lưu toàn bộ resource cần public vào một nơi như “:/resources/public”, sau đó khi khởi động app lần đầu sẽ thực hiện đọc folder đó và ghi toàn bộ các file trong đó ra ngoài folder thực của os.

2 Likes

hehe. mình muốn quá trình copy ra ngoài nó thực hiện khi install file apk chứ ko phải lúc chạy app, ko biết như vậy có được ko nhỉ?

Thì dĩ nhiên là lúc khởi chạy app lần đầu rồi.

Mình tìm hiểu trên mạng họ nói là download dữ liệu từ web rồi giải nén ra, như vậy có vẻ tốt hơn.

2 Likes

hợp lý đó bạn :smiley: cảm ơn nhiều nha

nhưng mà mình vẫn không muốn sử dụng app để làm việc đó. mình muốn file apk sẽ làm liệu được ko nhỉ? khi mà install ấy

để rõ ràng hơn về ý của mình, có nghĩa là mình đang mong đợi ngay sau khi install file apk, những thứ mình cần copy ra device sẽ có sẵn luôn, chứ ko cần phải chạy app lần đầu rồi mới bắt đầu tiến hành copy ấy :smiley:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?