HP bought Palm in April 2009. webOS has been belong to HP. However, webOS is minority force of the global mobile marketshare.
In December 9, 2011, HP announced that they will contribute webOS to open source community.
13/12/2011
30/11/2011
弟13課-問題
3.
1)用事がありますから、5時にうちへ帰りたいです。
2)あしたは休みですから、昼まで寝たいです。
3)のどがかわましたから、何か飲みたいです。
4)疲れましたから、何もしたいです。
5)暑いですから、どこも行きたいです。
4.
1)わたしは大きいうちが欲しいです。
2)おなかがいっぱいですから、何も食べたくないです。
3)京都の大学で美術を勉強します。
4)日本へ経済の勉強に来ました。
5)あの喫茶店に入りませんか。
5.
1)図書館へ本を借りに行きます。
2)郵便局へ切手を買いに行きました。
3)デパートへ買い物に行きたいです。
4)暑いですから、ペールへ泳ぎに行きましょう。
5)日本に1年いますから、市役所へ外国人登録に行きます。
6.
1) 0
2) 0
3)x
4) 0
5)x
Labels:
Mina no Nihongo
29/11/2011
Cài đặt XCode 3.2.6 trên Mac OS X Lion
Apple chỉ cho phép cài đặt Xcode 4.1 cho Mac OS X Lion. So với phiên bản trước thì Xcode 4.1 có nhiều điểm nổi trội nhưng bên cạnh đó cũng mang đến cho các dev rất nhiều nổi bực bội:
- Chức năng Design bị gỡ bỏ.
- Thêm ARC quản lý việc tham khảo biến tự giải phóng biến, tuyệt vời quá, tuy nhiên nếu bạn mở một dự án cũ thì mệt lắm.
- Không hỗ trợ PowerPC Mac.
- Tải xcode_3.2.6_and_ios_sdk_4.3.dmg miễn phí từ developer của Apple. Nếu bạn không có tài khoản thì xin đừng hỏi tôi cách tải về mà hãy hỏi nhà thông thái Google nhé. Lưu tập tin tải về tại ~/Downloads
- Chuyển đến thư mục download: cd ~/Downloads
- Tạo ảnh của tập tin này để có thể chỉnh sửa:
hdiutil attach -shadow xcode_3.2.6_and_ios_sdk_4.3.shadow xcode_3.2.6_and_ios_sdk_4.3.dmg
Xoá
chuỗi
&& system.compareVersions(my.target.systemVersion.ProductVersion, '10.7') < 0
' trong tập tin 'Xcode and iOS SDK.mpkg/Contents/iPhoneSDKSL.dist'(dòng 148):
cat '/Volumes/Xcode and iOS SDK/Xcode and iOS SDK.mpkg/Contents/iPhoneSDKSL.dist' | sed "s/&& system.compareVersions(my.target.systemVersion.ProductVersion, '10.7') < 0 //g" > '/Volumes/Xcode and iOS SDK/Xcode and iOS SDK.mpkg/Contents/iPhoneSDKSL.dist.new' && mv '/Volumes/Xcode and iOS SDK/Xcode and iOS SDK.mpkg/Contents/iPhoneSDKSL.dist.new' '/Volumes/Xcode and iOS SDK/Xcode and iOS SDK.mpkg/Contents/iPhoneSDKSL.dist'
Tiến hành cài đặt Xcode như bình thường.
Labels:
iOS
27/11/2011
弟13課-復習B
I。
1)わたしはパソコン
が欲しいです。
2)わたしは車が欲しいです。
3)わたしはお金が欲しいです。
4)わたしは彼女が欲しいです。
II.
- どんな車が欲しいですか。。。。ドイスの車が欲しいです。
- どんな靴が欲しいですか。。。。黒い靴が欲しいです。
- どんなパソコンが欲しいですか。。。。IMCのパソコンが欲しいです。
- どんなうちが欲しいですか。。。。広いうちが欲しいです。
III.
1)北海道へ行きたいです。
2)ビールを読みたいです。
3)映画を見たいです。
4)サッカをしたいです。
IV.
1)いつ北海道へ行きたいですか。。。。2月に行きたいです。
2)何を習いたいですか。。。。生け花を習いたいです。
3)だれに会いたいですか。。。。両親に会いたいです。
4)何を食べたいですか。。。。何も食べたくないです。
5)どんな本を読みたいですか。。。。旅行の本を読みたいです。
6)日曜日どこへ行きたいですか。。。。どこも行きたくないです。
V.
1)デパートへお土産を買いに行きます。
2)郵便局へ速達を出しに行きます。
3)図書館へ本を借りに行きます。
4)駅へ友達を迎えに行きます。
VI.
1)ホンコンへ買い物に行きます。
2)ホテルへ食事に行きます。
3)川へ釣りに行きます。
4)市役所へ外国人登録に行きます。
VII.
1)どこへ泳ぎに行きますか。。。。ホテルのプールへ泳ぎに行きます。
2)どこへお土産を買いに行きますか。。。。デパートへ買いに行きます。
3)どこへ絵を見に行きますか。。。。奈良の美術館へ見に行きます。
4)どこへ食事に行きますか。。。。インド料理のレストランへ食事に行きます。
VIII.
- 何を買いに行きますか。。。。フィルムを買いにす行きます。
- だれに会いに行きますか。。。。カリナさんに会いに行きます。
- 何時ごろ子どもを迎えに行きますか。。。。2時ごろ迎えに行きます。
- だれとテニスに行きますか。。。。会社の人に行きます。
Labels:
Mina no Nihongo
弟12課-復習B
I.
1)先月は忙しかったです。
2)お祭りは楽しかったです。
3)去年の冬は暖かかったです。
4)公園は人が多かったです。
II.
- おとといは雨でした。
- 図書館は休みでした。
- 先週は暇でした。
- 奈良公園は静かでした。
III.
- 歌舞伎はおもしろかったですか。。。。はい、おもしろかったです。
- コンサートはよかったですか。。。。。いいえ、あもりよくなかったです。
- お祭りはにぎやかでしたか。。。。はい、とてもにぎやかでした。
- 試験は簡単でしたか。。。。いいえ、かんたんじゃありませんでした。
IV.
- 天気はどうでしたか。。。。曇りでした。
- タイ料理はどうでしたか。。。辛かったです。
- 北海道はどうでしたか。。。あもり寒くなかったです。
- ホテルの部屋はどうでしたか。。。とてもすてきでした。
V.
- このかばんはそのかばんよりならいです。
- ホンコンはシンガポールより近いです。
- 地下鉄は車より早いです。
- ミラーさんはサントスさんよりテニスが上手です。
VI.
- コーヒーと紅茶とどちらがいいですか。。。コーヒーのほうがいいです。
- 大きいみかんと小さいみかんとどちらが甘いですか。。。小さいみかんのほうが甘いです。
- お父さんとお母さんとどちらが料理が上手ですか。。。父のほうが料理が上手です。
- 春と秋とどちらが好きですか。。。どちらも好きです。
VII.
- スポーツで何がいちばんおもしろいですか。。。サッカーがいちばんおもしろいです。
- 1年でいつ(何月)がいちばん暑いですか。。。8月がいちばん暑いです。
- 家族でだれが歌がいちばん上手ですか。。。妹が歌がいちばん上手です。
- ヨーロッパでどこがいちばんよかったですか。。。スイスがいちばんよかったです。
Labels:
Mina no Nihongo
12/11/2011
How to exit program from iOS application
From iOS 4.0 when you push Home button the application go to background instead of exiting as before.
When you launch application again you can see the screen before the application go to background.
Sometime, you don't want this default behavior, you want to exit (terminate) the program when user press on (touch on) a button. How to do this?
There are two ways:
+ Call exit(0) in the action handler method.
+Call [[NSThread mainThread] exit] in the action handler method.
When you launch application again you can see the screen before the application go to background.
Sometime, you don't want this default behavior, you want to exit (terminate) the program when user press on (touch on) a button. How to do this?
There are two ways:
+ Call exit(0) in the action handler method.
+Call [[NSThread mainThread] exit] in the action handler method.
Labels:
iOS
03/11/2011
Determin mp4 file is audio file or video file
If you receive mp4 file from server, you can determin it is audio file or video file by mime information which is sent by server. However, if mp4 file is in your Android terminal (internal or external storage device), how do you solve the problem? In this small post, I present a solution use MP4Parser library.
try{
//mp4 is path string of your mp4 file
IsoBufferWrapper isoBufferWrapper = new IsoBufferWrapper(new File(mp4));
IsoFile isoFile = new IsoFile(isoBufferWrapper);
isoFile.parse();
//Get FileTypeBox
ArrayList boxes =( ArrayList) isoFile.getBoxes(FileTypeBox.class);
FileTypeBox ftb =(FileTypeBox) boxes.get(0);
String major =ftb.getMajorBrand().trim().toLowerCase();
//The list of ftyps http://www.ftyps.com/
if(major.equals("m4a") || //Apple iTunes AAC-LC (.M4A) Audio
major.equals("msnv")|| //MPEG-4 (.MP4) for SonyPSP
major.equals("ndas")|| //MP4 v2 [ISO 14496-14] Nero Digital AAC Audio
major.equals("da1a")|| //DMB MAF audio with ER-BSAC audio, JPG/PNG/MNG images
major.equals("f4a")|| //Audio for Adobe Flash Player 9+ (.F4A)
major.equals("f4b")|| //Audio Book for Adobe Flash Player 9+ (.F4B)
major.equals("m4b")|| //Apple iTunes AAC-LC (.M4B) Audio Book
major.equals("m4p")|| //Apple iTunes AAC-LC (.M4P) AES Protected Audio
major.equals("bsac")|| //MPEG-4 "Bit Sliced Arithmetic Coding" (audio)
major.equals("mot slides") //Digital Audio Broadcasting (DAB) MOT slideshow (ETSI DAB TR 101 497)
){
//AUDIO FILE
}else{
//VIDEO FILE
}
}catch(IOException ex){
ex.printStackTrace();
//ERROR
}
try{
//mp4 is path string of your mp4 file
IsoBufferWrapper isoBufferWrapper = new IsoBufferWrapper(new File(mp4));
IsoFile isoFile = new IsoFile(isoBufferWrapper);
isoFile.parse();
//Get FileTypeBox
ArrayList
FileTypeBox ftb =(FileTypeBox) boxes.get(0);
String major =ftb.getMajorBrand().trim().toLowerCase();
//The list of ftyps http://www.ftyps.com/
if(major.equals("m4a") || //Apple iTunes AAC-LC (.M4A) Audio
major.equals("msnv")|| //MPEG-4 (.MP4) for SonyPSP
major.equals("ndas")|| //MP4 v2 [ISO 14496-14] Nero Digital AAC Audio
major.equals("da1a")|| //DMB MAF audio with ER-BSAC audio, JPG/PNG/MNG images
major.equals("f4a")|| //Audio for Adobe Flash Player 9+ (.F4A)
major.equals("f4b")|| //Audio Book for Adobe Flash Player 9+ (.F4B)
major.equals("m4b")|| //Apple iTunes AAC-LC (.M4B) Audio Book
major.equals("m4p")|| //Apple iTunes AAC-LC (.M4P) AES Protected Audio
major.equals("bsac")|| //MPEG-4 "Bit Sliced Arithmetic Coding" (audio)
major.equals("mot slides") //Digital Audio Broadcasting (DAB) MOT slideshow (ETSI DAB TR 101 497)
){
//AUDIO FILE
}else{
//VIDEO FILE
}
}catch(IOException ex){
ex.printStackTrace();
//ERROR
}
Labels:
Android
23/10/2011
18/10/2011
Cuộc chiến giữa Android phone và iPhone ở khía cạnh nhà cung cấp dịch vụ
Sự lớn mạnh không ngừng của Android phone trong thị trường smart phone trong thời gian gần đây thật ấn tượng. Theo số liệu thống kê vào cuối quý 3 năm 2011, thị phần của Android phone là 43,7%.
Tuy nhiên hầu hết Android phone gắn kết với nhà cung cấp dịch vụ (carrier) Verizon trong khi iPhone lại chọn AT&T. Điểm khác biệt này đôi khi lại là nguyên nhân khiến người dùng chọn iPhone hơn Android phone.
Đọc thêm thông tin ở blog sau:
Jason Pearlow, Why my parents don't use Android
Tuy nhiên hầu hết Android phone gắn kết với nhà cung cấp dịch vụ (carrier) Verizon trong khi iPhone lại chọn AT&T. Điểm khác biệt này đôi khi lại là nguyên nhân khiến người dùng chọn iPhone hơn Android phone.
Đọc thêm thông tin ở blog sau:
Jason Pearlow, Why my parents don't use Android
Labels:
Android
17/10/2011
Set thông tin proxy cho DefaultHttpClient
Sau đây là một đoạn code nhỏ mô tả cách thiết lập thông tin proxy cho HttpDefaultClient
//Tạo đối tượng DefaultHttpClient
DefaultHttpClient client = new DefaultHttpClient();
//Thiết lập thông tin proxy
HttpHost httpproxy = new HttpHost("[Proxy Server Address]",[Proxy Server Port]);
client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, httpproxy);
//Tạo đối tượng DefaultHttpClient
DefaultHttpClient client = new DefaultHttpClient();
//Thiết lập thông tin proxy
HttpHost httpproxy = new HttpHost("
client.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, httpproxy);
Labels:
Android
14/10/2011
Develop an Apache HttpClient client for Android to a JAX-RS web service
Create JAX-RS web service access with the Apache HttpClient library. Jersey, a
reference implementation for JAX-RS, simplifies development of RESTful web
services in the Java™ environment. Android is a popular smartphone and
this article shows you how to create a JAX-RS client for Android. You'll
create an Apache HttpClient library client to a JAX-RS web service.
Read more:
Labels:
Android
03/10/2011
Nokia sa thải 3.500 công nhân
Theo thông tin từ Vietnam+ thì ngày 29/09 vừa qua hãng Nokia thông báo tiếp tục cắt giảm 3.500 công nhân trong đó có 2.200 nhân viên ở Cluj, Romania và 1.300 nhân viên khối Location & Commerce.
Đây là đợt cắt giảm thứ hai sau khi hãng này chuyển 2.800 kỹ sư phát triển Symbian platform sang làm việc tại Accenture vào tháng 06/2011 vừa rồi.
Đây là đợt cắt giảm thứ hai sau khi hãng này chuyển 2.800 kỹ sư phát triển Symbian platform sang làm việc tại Accenture vào tháng 06/2011 vừa rồi.
Labels:
Nokia
07/09/2011
Gosling rời Google và Android
'Cha đẻ của Java', James Gosling đã rời Sun Microsystems sau khi hãng này bị Oracle thâu tóm và đến Google.
Sự kiện này đã gây xôn xao cộng đồng mạng. Mới đây Gosling tiếp tục rời khỏi Google, từ bỏ Android về đầu quân cho Liquid Robotics ( để có thể tạo ra các android,robot, thật sự) với vai trò kiến trúc sư trưởng.
Sự kiện này đã gây xôn xao cộng đồng mạng. Mới đây Gosling tiếp tục rời khỏi Google, từ bỏ Android về đầu quân cho Liquid Robotics ( để có thể tạo ra các android,robot, thật sự) với vai trò kiến trúc sư trưởng.
Labels:
Android
04/09/2011
Microsoft Excel chiếm 100% CPUs
Sáng nay có bà chị gặp vấn đề sau đây:
Chị có một tập tin Excel 2003 trong có có 1 sheet có khoảng vài trăm ngàn row. Tập tin này chạy rất tốt trên Excel 2003.
Khi chị mở tập tin này bằng Excel 2007, chị filter một column thì máy bị not respond và hai CPU của máy bị chiếm 100%.
Chị nhờ mình chẩn bệnh và trị bệnh.
Đầu tiên mình xem qua cấu hình máy thì cấu hình máy rất cao, core i3, RAM 2G, bộ nhớ ảo set 4G.
Xem qua Event Viewer thấy OS ở tình trạng tốt không có vấn đề gì đáng quan tâm.
Mình nghĩ vấn đề là do Excel 2007 chạy file Excel 2003 (compitable mode) và hình save cái file này sang Excel 2007 (.xlsx). Tuy nhiên vấn đề không được giải quyết.
Sau một hồi lang thang trên mạng tìm hiểu sự khác biệt Excel 2007 và Excel 2003 mình phát hiện Excel 2007 có chức năng tự động tính toán. Chỉ cần tắt tính năng này là mọi việc được giải quyết:
Office button > Excel Options > Formula > Manual for Automatic Calculation
Chị có một tập tin Excel 2003 trong có có 1 sheet có khoảng vài trăm ngàn row. Tập tin này chạy rất tốt trên Excel 2003.
Khi chị mở tập tin này bằng Excel 2007, chị filter một column thì máy bị not respond và hai CPU của máy bị chiếm 100%.
Chị nhờ mình chẩn bệnh và trị bệnh.
Đầu tiên mình xem qua cấu hình máy thì cấu hình máy rất cao, core i3, RAM 2G, bộ nhớ ảo set 4G.
Xem qua Event Viewer thấy OS ở tình trạng tốt không có vấn đề gì đáng quan tâm.
Mình nghĩ vấn đề là do Excel 2007 chạy file Excel 2003 (compitable mode) và hình save cái file này sang Excel 2007 (.xlsx). Tuy nhiên vấn đề không được giải quyết.
Sau một hồi lang thang trên mạng tìm hiểu sự khác biệt Excel 2007 và Excel 2003 mình phát hiện Excel 2007 có chức năng tự động tính toán. Chỉ cần tắt tính năng này là mọi việc được giải quyết:
Office button > Excel Options > Formula > Manual for Automatic Calculation
Labels:
Microsoft Excel
01/09/2011
29/08/2011
Set proxy cho HttpURLConnection
String proxy = "proxy.mydomain.com",
port = "8080";
URL url = new URL( "http://www.google.com/" );
Properties systemProperties = System.getProperties();
systemProperties.setProperty("http.proxyHost",proxy);
systemProperties.setProperty("http.proxyPort",port);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
connection.connect();
Labels:
Android
28/08/2011
Lấy danh sách content provider trong một terminal
Sau đây là một đoạn code nhỏ để liệt kê danh sách các content provider trong một terminal:
for (PackageInfo package : getPackageManager().getInstalledPackages(PackageManager.GET_PROVIDERS)) {
ProviderInfo[] providers = package.providers;
if (providers != null) {
for (ProviderInfo provider : providers) {
Log.d("Example", "provider: " + provider.authority);
}
}
}
for (PackageInfo package : getPackageManager().getInstalledPackages(PackageManager.GET_PROVIDERS)) {
ProviderInfo[] providers = package.providers;
if (providers != null) {
for (ProviderInfo provider : providers) {
Log.d("Example", "provider: " + provider.authority);
}
}
}
Labels:
Android
19/08/2011
Xoá Spanable Image khỏi EditText
Nhiều lúc chúng ta muốn thêm hình ảnh vào EditText ví dụ như bạn viết chương trình chat bạn muốn thay chữ "hello" bằng hình ảnh smiley chẳn hạn thì đoạn chương trình sau đây sẽ hữu ích:
SpannableString ss = new SpannableString("hello@");
Drawable d = img.getDrawable();
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
ss.setSpan(span, 0, 3, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
editT.setText(ss);
Bạn hãy hiện thực TextWatcher bằng Activity chứa EdiText hiện tại. Trong sự kiện afterTextChange bạn đặt đoạn chương trình trên sau khi bạn nhận được đoạn text là "hello".
Tuy nhiên lúc này có một vấn đề khác là làm sao để xoá hình khi người dùng nhấn phím "Back" trên Soft Keyboard. Vì khi nhấn phím này thì hình sẽ bị xoá nhưng khi nhập vào ký tự bất kỳ thì hình lại hiện ra và các ký tự nhập vào biến đâu mất.
Để giải quyết bài toán này bạn hãy hiện thực Activity hiện tại interface OnKeyListener. Trong hàm onKey bạn kiểm tra View có phải là EditText, keycode có bằng KEYCODE_DEL và keyevent có action là ACTION_DOWN hay không. Nếu đúng vậy thì bạn sử dụng đoạn mã sau để xoá hình:
Editable buffer = ((EditText) view).getText();
// If the cursor is at the end of a RecipientSpan then remove the whole span
int start = Selection.getSelectionStart(buffer);
int end = Selection.getSelectionEnd(buffer);
if (start == end) {
ImageSpan[] img = buffer.getSpans(start, end, ImageSpan.class);
if (img.length > 0) {
buffer.replace(
buffer.getSpanStart(img[0]),
buffer.getSpanEnd(img[0]),
""
);
buffer.removeSpan(img[0]);
return true;
}
}
SpannableString ss = new SpannableString("hello@");
Drawable d = img.getDrawable();
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
ss.setSpan(span, 0, 3, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
editT.setText(ss);
Bạn hãy hiện thực TextWatcher bằng Activity chứa EdiText hiện tại. Trong sự kiện afterTextChange bạn đặt đoạn chương trình trên sau khi bạn nhận được đoạn text là "hello".
Tuy nhiên lúc này có một vấn đề khác là làm sao để xoá hình khi người dùng nhấn phím "Back" trên Soft Keyboard. Vì khi nhấn phím này thì hình sẽ bị xoá nhưng khi nhập vào ký tự bất kỳ thì hình lại hiện ra và các ký tự nhập vào biến đâu mất.
Để giải quyết bài toán này bạn hãy hiện thực Activity hiện tại interface OnKeyListener. Trong hàm onKey bạn kiểm tra View có phải là EditText, keycode có bằng KEYCODE_DEL và keyevent có action là ACTION_DOWN hay không. Nếu đúng vậy thì bạn sử dụng đoạn mã sau để xoá hình:
Editable buffer = ((EditText) view).getText();
// If the cursor is at the end of a RecipientSpan then remove the whole span
int start = Selection.getSelectionStart(buffer);
int end = Selection.getSelectionEnd(buffer);
if (start == end) {
ImageSpan[] img = buffer.getSpans(start, end, ImageSpan.class);
if (img.length > 0) {
buffer.replace(
buffer.getSpanStart(img[0]),
buffer.getSpanEnd(img[0]),
""
);
buffer.removeSpan(img[0]);
return true;
}
}
Labels:
Android
16/08/2011
Google thâu tóm Motorola Mobility
Ảnh:Digitaltrends
Sau thất bại trong cuộc đấu giá kho bản quyền phát minh Nortel cách đây vài tháng mà người chiến thắng lại là đối thủ trực tiếp RIM, Apple, Microsoft, Sony, Google đã có bước đi chấn động thị trường công nghệ đó là mua lại Motorola Mobility (công ty chuyên sản xuất điện thoại của tập đoàn Motorola) với giá 12,5 tỷ USD.Nói về sự xác nhập này Larry Page nói:“Cùng nhau, Google và Motorola sẽ tạo ra những trải nghiệm sử dụng sản phẩm phi thường, giúp củng cố thêm sự vững chắc cho hệ sinh thái Android, mà ở đó lợi ích của người dùng cuối, đối tác kinh doanh và giới phát triển phần mềm sẽ được đặt lên hàng đầu. Tôi trân trọng chào mừng Motorola trở thành thành viên mới nhất của đại gia đình Google.”
Thương vụ này chứng tỏ rằng Google quyết tâm bảo vệ đứa con cưng Android của mình trước sự tấn công mạnh mẽ của các đối thủ cạnh tranh.
Labels:
Android
11/08/2011
Sử dụng Photoshop/GIMP để thiết kế QML
Sử dụng QML để lập trình giao diện là điều rất hấp dẫn cho những lập trình viên Qt.
Kể từ phiên bản 2.1 Qt Creator đã hỗ trợ khá tốt cho việc thiết kế QML. Tuy nhiên để có một GUI đẹp Qt developer phờ nhờ đến các phần mềm xử lý đồ hoạ chuyên nghiệp như Adobe Photoshop hay GIMP (nếu bạn là thần dân của cộng đồng FOSS). Sau khi có bản thiết kế đồ hoạ để chuyển sang mã QML lại là một bài toán không khó nhưng khá nhàm chán và tốn nhiều công sức. Xuất phát từ ý tưởng slice của Adobe Photoshop chuyển bản thiết kế website sang trang HTML người ta đã viết các plugin cho Adobe Photoshop và GIMP để cho phép design có thể export bản thiết kế của mình sang mã QML. Tôi là thần dân của FOSS nên tôi sẽ giới thiệu với các bạn cách dùng GIMP để export ra QML:
1) Download "Gimp-Python support easier" từ liên kết http://photocomix-resources.deviantart.com/art/Gimp-Python-support-easier-74889017.Giải nén và tiến hành cài đặt tất cả các gói phần mềm có trong đó.
2) Down load GIMP for Windows từ http://gimp-win.sourceforge.net/stable.html. Khi cài đặt nhớ chọn "Customize" để chọn Gimp-Python.
3) Download extension từ http://libregraphicsworld.org/news.php?readmore=597.Đọc file README để biết cách cài đặt.
Bây giờ mở GIMP lên bạn đã nhìn thấy một menu item "Export to QML" đã được thêm vào menu "File".
Xem video:
Reference:
Kể từ phiên bản 2.1 Qt Creator đã hỗ trợ khá tốt cho việc thiết kế QML. Tuy nhiên để có một GUI đẹp Qt developer phờ nhờ đến các phần mềm xử lý đồ hoạ chuyên nghiệp như Adobe Photoshop hay GIMP (nếu bạn là thần dân của cộng đồng FOSS). Sau khi có bản thiết kế đồ hoạ để chuyển sang mã QML lại là một bài toán không khó nhưng khá nhàm chán và tốn nhiều công sức. Xuất phát từ ý tưởng slice của Adobe Photoshop chuyển bản thiết kế website sang trang HTML người ta đã viết các plugin cho Adobe Photoshop và GIMP để cho phép design có thể export bản thiết kế của mình sang mã QML. Tôi là thần dân của FOSS nên tôi sẽ giới thiệu với các bạn cách dùng GIMP để export ra QML:
1) Download "Gimp-Python support easier" từ liên kết http://photocomix-resources.deviantart.com/art/Gimp-Python-support-easier-74889017.Giải nén và tiến hành cài đặt tất cả các gói phần mềm có trong đó.
2) Down load GIMP for Windows từ http://gimp-win.sourceforge.net/stable.html. Khi cài đặt nhớ chọn "Customize" để chọn Gimp-Python.
3) Download extension từ http://libregraphicsworld.org/news.php?readmore=597.Đọc file README để biết cách cài đặt.
Bây giờ mở GIMP lên bạn đã nhìn thấy một menu item "Export to QML" đã được thêm vào menu "File".
Xem video:
Reference:
- Jens Bache-Wiig, Exporting QML from Photoshop and GIMP
- QML exporting script makes GIMP a UI design tool
Labels:
QML
Đăng ký:
Bài đăng (Atom)