PhoneGapをインストールには、まずnode.jsをインストール
Android開発には、Eclipse with ADTが必要、そして、PATHにはADTツールを通す
環境変数JAVA_HOMEを設定(ADTはJAVAベース)
Ant(JAVA build用)をインストール、ANT_HOMEを設定、antをPATHに通す
2014年1月29日水曜日
2014年1月26日日曜日
apkファイルをエミュレータにインストール
Genymotionを入れた。Eclipseのエミュレータよりずっと速かった。
apkファイルをインストールには、エミュレータを起動してから、以下のコマンドとなる。
adb install xxx.apk
apkファイルをインストールには、エミュレータを起動してから、以下のコマンドとなる。
adb install xxx.apk
2013年10月13日日曜日
Azure SQLのデータをListViewに表示させる
public class MainActivity extends Activity {
MobileServiceClient mClient;
MobileServiceTable<TokutenItem> mTokutenTable;
TokutenItemAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.benefit_list);
// 1)ListViewとadapterを設定、rowのlayoutも紐づく
mAdapter = new TokutenItemAdapter(this, R.layout.benifit_cell);
ListView listViewBenefit = (ListView) findViewById(R.id.benefitList);
listViewBenefit.setAdapter(mAdapter);
try {
// 2)Create the Mobile Service Client instance, using the provided
// Mobile Service URL and key
mClient = new MobileServiceClient(
"https://xxxxxxx.azure-mobile.net/",
"keyforAzuraMobileService",
this);
// 3)Get the Mobile Service Table instance to use
mTokutenTable = mClient.getTable(TokutenItem.class);
} catch (MalformedURLException e) {
createAndShowDialog(new Exception("There was an error creating the Mobile Service. Verify the URL"), "Error");
}
// 4)SQL実行
mTokutenTable.where().field("venusId").eq("4e25173e091a817e3dd67300")
.execute(new TableQueryCallback<TokutenItem>() {
// 5)SQL完了したあとのcallbackでadapterを更新
public void onCompleted(List<TokutenItem> result,
int count,
Exception exception,
ServiceFilterResponse response) {
if (exception == null) {
mAdapter.clear();
for (TokutenItem item : result) {
mAdapter.add(item);
}
} else {
createAndShowDialog(exception, "Error");
}
}
});
}
Adapterの設計
/**
* Adapter context
*/
Context mContext;
/**
* Adapter View layout
*/
int mLayoutResourceId;
super(context, layoutResourceId);
mLayoutResourceId = layoutResourceId;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {View row = convertView;
LayoutInflater inflater = ((Activity) mContext).getLayoutInflater();
row = inflater.inflate(mLayoutResourceId, parent, false);
}
//rowのlayoutになにを表示させるかを設定
TextView pointTv = (TextView) row.findViewById(R.id.point);TextView priceDownTv = (TextView) row.findViewById(R.id.priceDown);
pointTv.setText(Float.toString(currentItem.getPointUp()));
priceDownTv.setText(Integer.toString(currentItem.getPriceDown()));
}
2013年9月20日金曜日
AndroidにおけるAzureの使用、SQLにinsert
AndroidからAzureのSQLを使用には、簡単です。
1)Tableの構造と合うclassを用意します。
1)Tableの構造と合うclassを用意します。
package com.example.azuretest;
public class TokutenItem {
@com.google.gson.annotations.SerializedName("id")
private int mId;
@com.google.gson.annotations.SerializedName("venusId")
private String mVenusId;
@com.google.gson.annotations.SerializedName("pointUp")
private float mPointUp;
@com.google.gson.annotations.SerializedName("pricedown")
private int mPriceDown;
@com.google.gson.annotations.SerializedName("cardId")
private int mCardId;
public TokutenItem(String venusId, float pointUp, int priceDown, int cardId) {
//this.setId(id); idは自動的に付与され、set不可のようです
this.setVenusId(venusId);
this.setPointUp(pointUp);
this.setPriceDown(priceDown);
this.setCardId(cardId);
}
public int getId() {
return mId;
}
public String getVenusId() {
return mVenusId;
}
public float getPointUp() {
return mPointUp;
}
public int getPriceDown() {
return mPriceDown;
}
public int getCardId() {
return mCardId;
}
public final void setId(int id) {
mId = id;
}
public final void setVenusId(String venusId) {
mVenusId = venusId;
}
public final void setPointUp(float pointUp) {
mPointUp = pointUp;
}
public final void setPriceDown(int priceDown) {
mPriceDown = priceDown;
}
public final void setCardId(int cardId) {
mCardId = cardId;
}
}
2)MobileServiveClientの設定、そしてMobileServiceTableの設定
try {
// Create the Mobile Service Client instance, using the provided
// Mobile Service URL and key
mClient = new MobileServiceClient(
"https://xxxxxxx.azure-mobile.net/",
"keyforAzuraMobileService",
this);
// Get the Mobile Service Table instance to use
mTokutenTable = mClient.getTable(TokutenItem.class);
} catch (MalformedURLException e) {
createAndShowDialog(new Exception("There was an error creating the Mobile Service. Verify the URL"), "Error");
}
// 挿入したいItem項目をclassに入れる、idの設定は不可
TokutenItem mTokutenItem = new TokutenItem("4e25173e091a817e3dd67300",2,300,3);
mTokutenTable.insert(mTokutenItem, new TableOperationCallback<TokutenItem>() {
public void onCompleted(TokutenItem entity,
Exception exception,
ServiceFilterResponse response) {
if (exception == null) {
//Log.i(TAG, "Read object with ID " + entity.id);
} else {
createAndShowDialog(exception, "Error");
}
}
});
getTableは、classの構造に合わせて、SQLの列を追加してくれます。
3) Permissionの追加を忘れず
<uses-permission android:name="android.permission.INTERNET" />
2013年9月18日水曜日
AdapterのgetView()
ListViewに内容を表示させるには、AdapterはデータとListViewの中間役になります。Adapterの役割の中心は、getView()です。ListViewは新しいrowを表示する際、その都度getView()を呼び出します。
public abstract View getView (int position, View convertView, ViewGroup parent)
Added in API level 1
Get a View that displays the data at the specified position in the data set. You can either create a View manually or inflate it from an XML layout file. When the View is inflated, the parent View (GridView, ListView...) will apply default layout parameters unless you use
inflate(int, android.view.ViewGroup, boolean)
to specify a root view and to prevent attachment to the root.Parameters
position | The position of the item within the adapter's data set of the item whose view we want. |
---|---|
convertView | The old view to reuse, if possible. Note: You should check that this view is non-null and of an appropriate type before using. If it is not possible to convert this view to display the correct data, this method can create a new view. Heterogeneous lists can specify their number of view types, so that this View is always of the right type (see getViewTypeCount() and getItemViewType(int) ). |
parent | The parent that this view will eventually be attached to |
Returns
- A View corresponding to the data at the specified position.
2013年9月13日金曜日
Azureプレミアクーポン券をいただいた
日本MS本社に、あるセミナーに参加しに行ったら、何と454,500円分のAzureプレミアクーポンをいただきました。これはありがたいです。ますます、Azureに傾くようになりました。MSさんはクラウド分野で、一生懸命追いついていますね。
登録:
投稿 (Atom)