約 5,025,071 件
https://w.atwiki.jp/m_shige1979/pages/1481.html
Android NDK 概要 Android SDKにC言語で作成したモジュールを併用して速度を上げる 初期設定 雛形作成 サンプルを作成 作成方法
https://w.atwiki.jp/anddoid/pages/31.html
android orientation 要素 vertical horizontal 関連タグ 使用例 android orientation="vertical"
https://w.atwiki.jp/se-panda/pages/13.html
作成中・・・ 概要 アプリ開発環境開発環境 アプリ利用環境アプリマーケット メモ 概要 携帯電話市場で勢いが加速し続けるスマートフォン。先行したiPhoneにAndroid、WindowsMobileが攻勢をかけるという構図ができつつある。中でもAndroidの販売台数が世界市場でiPhoneを追い抜くのが時間の問題となってきている。 このページでは、アプリ、Webページを提供する開発者の視点に立った、AndroidとiPhoneの違い、市場の優位性をひも解いていく。 アプリ開発環境 開発環境 iPhoneアプリはMac上での開発しかサポートされていないのに対し、AndroidアプリはWindows、Mac、Linuxと幅広い環境で開発することが可能。 アプリ利用環境 アプリマーケット iPhoneアプリは(脱獄していない限り)AppStoreでみの公開になる。AppStoreへの登録はAppleの認可が必要であり、最長で数カ月待たされることもある。また、性的コンテンツやAppleの利益基盤を侵害するようなアプリなど、認可されないこともある。 一方、Androidアプリは事実上公開プラットフォームの縛りがない。Androidマーケットのほか、国内でもdocomo、auがそれぞれアプリマーケットを展開している。事実上認可も不要で、すぐに公開される。 Appleの完全管理化の元。質の高いアプリが揃うiPhoneアプリに対し、Androidアプリは、セキュリティに不安のあるアプリが平気で出回る可能性がある反面、Appleでは認可できないアプリも豊富に揃う。 メモ iTunesに匹敵する音楽管理ツールは? アプリ連携 バックグラウンド動作 Flash 解像度多様化への対策 デバイス多様化への対策(ipod/クレジット/ワンセグ) クラウドかiTunesか 新端末への移行 OSバージョンアップの弊害 メモリ管理の妙 ネットワーク負荷の考察 アプリ開発言語
https://w.atwiki.jp/arumos/
androidメモ リスト test
https://w.atwiki.jp/android_api/pages/18.html
アンドロイドアプリケーションを全体的にカプセル化したハイレベルなクラスに当たります。Activityを中心としてその他のトップレベルのアプリケーションコンポーネントとしてService やBroadcastReceiverとContentProvider
https://w.atwiki.jp/mizki/pages/15.html
アップ利開発 http //androidhacker.blog94.fc2.com/ http //www.7roid.com/basics/
https://w.atwiki.jp/androidtvbox/pages/10.html
Android TV Boxが他のスマートテレビボックスやスマートテレビスティックと違うところ 1. USBポート2つとLANポート搭載で キーボードとマウス、LANケーブルをつなげれば正にパソコンですね。 2. 見た目だけではありません。使用感もパソコン並みです。 クアッドコア搭載でパソコンと同じくらい、またはパソコン以上の情報処理能力です。 LANケーブル搭載だからWi-fi環境が不安定でも大丈夫。1080pの高画質動画も滑らかです。 3. オフィス系アプリも使えています。 これでファイルの作成・編集ができてほぼパソコン作業ですね! 4. ゲームアプリもダウンロードして遊べます。 USB式ゲームコントローラーで操作すれば本格的なゲーム機で Androidゲームを遊ぶ感覚です! ※すべてのゲームに対応しているわけではありません。 ※ゲームコントローラー同期アプリが必要です。 5. もちろん、ネットと言えばSNS、オンラインショッピング、ネット動画も。 6. そしてやっぱりDLNA搭載で無線でパソコンからの動画や画像、メディアが楽しめます。 仕事用でなければ、パソコンのほとんどの使い道がAndroid TV Boxで出来てしまうのでは? Android TV Boxは14800円で販売されています。 >>Android TV Boxの詳細はこちら
https://w.atwiki.jp/dougahantd/pages/22.html
目次 (V1.0)リリース (V2.0)DJアップデート (V3.0)レイド地獄アップデート (V4.0)落書きアップデート (V5.0)アトミックアップデート (V6.0)魔法少女アップデート (V7.0)ゴーストアップデート (V8.0)真vs偽アップデート (V9.0)海レイドアップデート (V1.0)リリース リリース。 最悪な事件もこの後起こり、さらに最初なのでキャラが少ない。(レジェンダリーまで) 最悪の事件とはこちらチーター事件 (V2.0)DJアップデート 1週間記念イベント開催(イベントと言っている割にはずっとやっているような...) クレート変更(海鮮クレート→DJクレート) ハッカーちよ発売 初のAOEキャラ マップ星のリーリィ追加 チーター事件により3号(シェフ)はナーフされた。 (V3.0)レイド地獄アップデート キャラ合成、レイド、ナオ地獄が主に追加された。 レイドクレートも追加され、99%の確率でファームも入手できる。 クレート変更(DJクレート→ハンタークレート) (V4.0)落書きアップデート 新マップ「落書きワールド」が実装され、新キャラが多数追加された。 その数なんと30キャラ以上である さらに全キャラモーション、ステータスも異なる。弟君の熱意を感じる... 今回のアップデートにより、ファームキャラ全般に下方修正が入り、最大3体から2体になり強化にかかるコストが増加した。 また、りりちよのお洋服屋さんが実装。ゲーム内で動画班のT-shirtsを買えるようになった。 後日、小規模なアップデートでコイン2倍、ラック2倍ブーストとパス、トレーディングプラザが実装。 周回がより楽になった。 (V5.0)アトミックアップデート 新キャラ、新マップ「りりの水族館」、新要素の○○限定キャラが実装。 現在は水上限定のみだが、今後増えていく可能性がある。 また、新課金限定キャラの「シド・マメノー」は全キャラTOPの火力(開発者専用以外で)を誇る。ただし強すぎるので一試合に一度しか使えなかったり、レイド戦はそもそも使用不可など細かな制約がある。値段は499Robux(日本円1000円)となっている。 (V6.0)魔法少女アップデート 新クレート「魔法少女クレート」実装に伴い、新キャラ3体が実装。 また、ナオ地獄のポイントが廃止され、トキシックすわんこに上方修正が入った。、 (V7.0)ゴーストアップデート ゴーストイベントが実装、専用のポイントでキャラを交換することができる。 特に新キャラの「頭取ぺやぱや」は先着1000名限定の超レアキャラである。余談だが、これはDusty tripからインスパイアされた。 詳細はリンクから また、新課金限定キャラとして「閻魔ナオ」が実装。現課金キャラ最強のハッカーちよを超えるポテンシャルを秘めた性能をしているので今後の展開に期待したい。 その他に一週間イベントの名前が初心者クエストに変更された。 (V8.0)真vs偽アップデート チームイベントが実装に伴い、新キャラ、新レアリティのレア血が登場。 サイバークレート追加。 クレートの値段が高騰。(TTDのInjured Titan Clateと同価格) バックパック拡張のゲームパス追加 (V9.0)海レイドアップデート 新レイドとして、新マップ、新敵キャラ、新キャラが実装。 それに伴い、戦闘街が削除され、作業員げこ等のキャラはトレードを除いて入手不可になった。 尚、現在新作ゲームの開発中のため一時的にアップデートが停滞している。
https://w.atwiki.jp/skill2linux/pages/22.html
RSS リーダの作成 以下の記事を参考に作成。 というか、ほぼそのままです…。 全然、整理をつけていないので、そのうち纏めます…。 http //itpro.nikkeibp.co.jp/article/COLUMN/20100105/342883/?k2 メイン画面(レイアウト) ?xml version="1.0" encoding="utf-8"? !-- mainアクティビティ用 -- LinearLayout xmlns android="http //schemas.android.com/apk/res/android" android orientation="vertical" android layout_width="fill_parent" android layout_height="fill_parent" !-- リストビュー -- ListView android id="@android id/list" android layout_width="wrap_content" android layout_height="wrap_content" / !-- リストが空のときに表示 -- /LinearLayout 行(レイアウト) ?xml version="1.0" encoding="utf-8"? LinearLayout android id="@+id/item_container" android layout_width="fill_parent" android layout_height="wrap_content" android orientation="vertical" xmlns android="http //schemas.android.com/apk/res/android" TextView android id="@+id/item_title" android layout_width="fill_parent" android layout_height="wrap_content" android textColor="#ffffff" android textSize="18sp" android lines="1" / TextView android id="@+id/item_descr" android layout_width="fill_parent" android layout_height="wrap_content" android lines="2" android ellipsize="end" / /LinearLayout 詳細画面(レイアウト) ?xml version="1.0" encoding="utf-8"? !-- item_detail.xml -- LinearLayout android layout_width="fill_parent" android layout_height="wrap_content" android orientation="vertical" xmlns android="http //schemas.android.com/apk/res/android" TextView android id="@+id/item_detail_title" android layout_width="fill_parent" android layout_height="wrap_content" android textAppearance="?android attr/textAppearanceLarge" android background="@android drawable/dark_header" / TextView android id="@+id/item_detail_descr" android layout_width="fill_parent" android layout_height="wrap_content" / /LinearLayout メイン画面 package jp.co.persil.rss; import java.util.ArrayList; import android.app.ListActivity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.ListView; public class PersilRSS extends ListActivity { // ------------------------------------------------------------ // メンバ // ------------------------------------------------------------ private ArrayList Item mItems; private RssListAdapter mAdapter; // ------------------------------------------------------------ // 定数 // ------------------------------------------------------------ public static final String RSS_FEED_URL = "http //itpro.nikkeibp.co.jp/rss/ITpro.rdf"; public static final int MENU_ITEM_RELOAD = Menu.FIRST; // ------------------------------------------------------------ // 【EVENT】Activity 作成 // ------------------------------------------------------------ /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { // スーパークラスの呼出 super.onCreate(savedInstanceState); setContentView(R.layout.main); // Itemオブジェクトを保持するためのリストを生成し、アダプタに追加する mItems = new ArrayList Item (); mAdapter = new RssListAdapter(this, mItems); // タスクを起動する RssParserTask task = new RssParserTask(this, mAdapter); task.execute(RSS_FEED_URL); } // ------------------------------------------------------------ // 【EVENT】リストの項目を選択した時の処理 // ------------------------------------------------------------ @Override protected void onListItemClick(ListView l, View v, int position, long id) { Item item = mItems.get(position); Intent intent = new Intent(this, ItemDetailActivity.class); intent.putExtra("TITLE", item.getTitle()); intent.putExtra("DESCRIPTION", item.getDescription()); startActivity(intent); } // ------------------------------------------------------------ // 【EVENT】オプションボタン追加 // ------------------------------------------------------------ @Override public boolean onCreateOptionsMenu(Menu menu) { boolean result = super.onCreateOptionsMenu(menu); // デフォルトではアイテムを追加した順番通りに表示する menu.add(0, MENU_ITEM_RELOAD, 0, "更新"); return result; } // ------------------------------------------------------------ // 【EVENT】MENUの項目を押したときの処理 // ------------------------------------------------------------ @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // 更新 case MENU_ITEM_RELOAD // アダプタを初期化し、タスクを起動する mItems = new ArrayList Item (); mAdapter = new RssListAdapter(this, mItems); // タスクはその都度生成する RssParserTask task = new RssParserTask(this, mAdapter); task.execute(RSS_FEED_URL); return true; } return super.onOptionsItemSelected(item); } // ------------------------------------------------------------ // 【METHOD】ツリービューアイテムを追加 // ------------------------------------------------------------ public void setListAdapter( RssListAdapter mAdapter) { // アダプタをリストビューにセットする ListView lv = (ListView)findViewById(android.R.id.list); lv.setAdapter(mAdapter); } } 行へのアイテム管理用 package jp.co.persil.rss; import java.util.List; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; //RssListAdapter.java public class RssListAdapter extends ArrayAdapter Item { // ------------------------------------------------------------ // メンバ // ------------------------------------------------------------ private LayoutInflater mInflater; private TextView mTitle; private TextView mDescr; // ------------------------------------------------------------ // コンストラクタ // ------------------------------------------------------------ public RssListAdapter(Context context, List Item objects) { super(context, 0, objects); mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); } // ------------------------------------------------------------ // 【METHOD】1行毎に View を作成する // ------------------------------------------------------------ @Override public View getView(int position, View convertView, ViewGroup parent) { View view = convertView; if (convertView == null) { view = mInflater.inflate(R.layout.item_row, null); } // 現在参照しているリストの位置からItemを取得する Item item = this.getItem(position); if (item != null) { // Itemから必要なデータを取り出し、それぞれTextViewにセットする String title = item.getTitle().toString(); mTitle = (TextView) view.findViewById(R.id.item_title); mTitle.setText(title); String descr = item.getDescription().toString(); mDescr = (TextView) view.findViewById(R.id.item_descr); mDescr.setText(descr); } return view; } } 画面への設定用ルーチン package jp.co.persil.rss; import java.io.IOException; import java.io.InputStream; import java.net.URL; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import android.app.ProgressDialog; import android.os.AsyncTask; import android.util.Xml; public class RssParserTask extends AsyncTask String, Integer, RssListAdapter { // ------------------------------------------------------------ // メンバ // ------------------------------------------------------------ private PersilRSS mActivity; private RssListAdapter mAdapter; private ProgressDialog mProgressDialog; // ------------------------------------------------------------ // コンストラクタ // ------------------------------------------------------------ public RssParserTask(PersilRSS activity, RssListAdapter adapter) { mActivity = activity; mAdapter = adapter; } // ------------------------------------------------------------ // 【Method】メインスレッドから execute 呼出時に実行される // 【Thread】メインスレッド // ------------------------------------------------------------ @Override protected void onPreExecute() { // プログレスバーを表示する mProgressDialog = new ProgressDialog(mActivity); mProgressDialog.setMessage("Now Loading..."); mProgressDialog.show(); } // ------------------------------------------------------------ // 【Method】メインスレッドから execute 呼出時に実行される // 【Thread】バックグラウンド // ------------------------------------------------------------ @Override protected RssListAdapter doInBackground(String... params) { RssListAdapter result = null; try { // HTTP経由でアクセスし、InputStreamを取得する URL url = new URL(params[0]); InputStream is = url.openConnection().getInputStream(); result = parseXml(is); } catch (Exception e) { e.printStackTrace(); } // ここで返した値は、onPostExecuteメソッドの引数として渡される return result; } // ------------------------------------------------------------ // 【Method】doInBackground のメソッド完了後に実行される // 【Thread】メインスレッド // ------------------------------------------------------------ @Override protected void onPostExecute(RssListAdapter result) { mProgressDialog.dismiss(); mActivity.setListAdapter(result); } // ------------------------------------------------------------ // 【Method】XML をパースする // ------------------------------------------------------------ public RssListAdapter parseXml(InputStream is) throws IOException, XmlPullParserException { // XML パーサをインスタンス化 XmlPullParser parser = Xml.newPullParser(); // try-catch 開始 try { // 引数で受け取ったストリームを設定 parser.setInput(is, null); // イベントタイプを設定 int eventType = parser.getEventType(); // 初期化 Item currentItem = null; // ドキュメントの最後まで繰り返し while (eventType != XmlPullParser.END_DOCUMENT) { String tag = null; switch (eventType) { // 開始タグ case XmlPullParser.START_TAG tag = parser.getName(); if (tag.equals("item")) { currentItem = new Item(); } else if (currentItem != null) { if (tag.equals("title")) { currentItem.setTitle(parser.nextText()); } else if (tag.equals("description")) { currentItem.setDescription(parser.nextText()); } } break; // 終了タグ case XmlPullParser.END_TAG tag = parser.getName(); if (tag.equals("item")) { mAdapter.add(currentItem); } break; } eventType = parser.next(); } } catch (Exception e) { e.printStackTrace(); } return mAdapter; } } アイテム管理用 package jp.co.persil.rss; public class Item { // ------------------------------------------------------------ // メンバ // ------------------------------------------------------------ private CharSequence mTitle; private CharSequence mDescription; // ------------------------------------------------------------ // コンストラクタ // ------------------------------------------------------------ public Item() { mTitle = ""; mDescription = ""; } // ------------------------------------------------------------ // 【getter】Description // ------------------------------------------------------------ public CharSequence getDescription() { return mDescription; } // ------------------------------------------------------------ // 【setter】Description // ------------------------------------------------------------ public void setDescription(CharSequence description) { mDescription = description; } // ------------------------------------------------------------ // 【getter】Title // ------------------------------------------------------------ public CharSequence getTitle() { return mTitle; } // ------------------------------------------------------------ // 【setter】Title // ------------------------------------------------------------ public void setTitle(CharSequence title) { mTitle = title; } } 行単位のアクティビティ package jp.co.persil.rss; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; public class ItemDetailActivity extends Activity { // ------------------------------------------------------------ // メンバ // ------------------------------------------------------------ private TextView mTitle; private TextView mDescr; // ------------------------------------------------------------ // コンストラクタ // ------------------------------------------------------------ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.item_detail); Intent intent = getIntent(); String title = intent.getStringExtra("TITLE"); mTitle = (TextView) findViewById(R.id.item_detail_title); mTitle.setText(title); String descr = intent.getStringExtra("DESCRIPTION"); mDescr = (TextView) findViewById(R.id.item_detail_descr); mDescr.setText(descr); } }
https://w.atwiki.jp/dougahantd/pages/13.html
ショップとは クレートや、課金キャラなどを買える。 クレート クレート一覧を参照 ゲームパス トレーディングプラザと同時期に実装。 Double Coin 試合勝利時にもらえるコイン量が2倍になる。 99Robuxで販売。 Double Luck ガチャの確率が2倍になる、ただしジェム消費のクレートは表記が変わらないので2倍かどうか不明。 199Robuxで販売。 Exclusive 課金キャラ。恒常のキャラより優秀なキャラが多い。詳細はユニットにて。 ハッカーちよ 299Robuxで販売。 トキシックすわんこ 299Robuxで販売。 シド・マメノー 499Robuxで販売。 閻魔なお 現在25%オフ 399Robuxで販売。 Boosts Coin Boosts 1個49Robux、10個299Robuxで販売。効果は15分 Luck Boosts 1個99Robux、10個499Robuxで販売。効果は15分 ショップ コイン 29R$で200 99R$で1000 299R$で3000 599R$で6000 1599R$で20000 ジェム 199R$で200 699R$で1000 1599R$で3000 2599R$で6000 4599R$で10000