一つのGmailアドレスで出来る「登録制サイトのアカウントを複数取得する」3つの方法 2012 年 1 月 23 日 13 時 0 分 インターネット・IT アドレスの@のまえにピリオド入れたら別のアドレスと認識されるから他サイトで複垢量産するときに捗る。 たとえば、GMAILはnews@gmail.comとnews.@gmail.comってアドレスを同一のものだと認識する。ところが他のサイト、たとえばニコニコはnews@gmail.comとnews.@gmail.comってアドレスを別物だと認識する。だから一つのアカウントを用意しとけばいくらでも会員登録制の複垢を作れる。 ■どういうこと? 具体的には、 「example@gmail.com」というアドレスを持っていた場合、 「exam.ple@gmail.com」でも、 「example…..@gmail.com」でも、
Android SDKに入っているサンプルを読む。今回はBackupRestoreActivity。 BackupRestoreActivityはAndroidのBackup Serviceを利用するサンプル。Backup ServiceはAPI Level 8から追加された機能でアプリケーションの持つデータを“クラウド”上に保管するサービス。この機能を使うことで、アプリケーションを一時的に削除(アンインストール)した後、再インストールしても以前のデータを利用できる。これは、端末を買い換えてアプリケーションを再インストールした場合にも利用できる。 http://developer.android.com/intl/ja/guide/topics/data/backup.html 開発ガイドのサンプルでは、ゲームの最高得点のデータを保存するサンプルを挙げている。 SDKのサンプル、Backu
Androidアプリのデータ保存方法の「プリファレンス」の使い方は? Androidアプリでは、いくつかのデータ保存方法が用意されていますが、最も簡単に扱える方法が、この「プリファレンス(Preference)」であると思います。 プリファレンスは、データを、キー名と値の組み合わせで保存する形をとります。 JavaでいうHashTableや、VB等のDictionaryのような感じですね。 データの量や保存したい形にもよりますが、数個の設定値を保持させておきたいぐらいであれば、このプリファレンスで事足りると思います。 それでは、サンプルコードとともに、プリファレンスの使い方をみていきましょう。 プリファレンスの保存方法 まずは保存時の処理の説明です。 保存するデータの型は、boolean型、float型、int型、long型、String型が使えます。 String型のデータを保存するとき
Androidアプリのデータ保存方法の「ローカルファイル」の使い方は? Androidアプリでは、いくつかのデータ保存方法が用意されていますが、その内の一つに「ローカルファイル」があります。 以前に、プリファレンスに関する記事を書きました。 Androidアプリのデータ保存方法の一つ「プリファレンス」の使い方 プリファレンスは使いやすいですが、何行にもまたがるテキストや画像のデータを保存する場合は、今回紹介するローカルファイルの方が使い勝手がいいと思います。 それでは、サンプルコードとともに、ローカルファイルの使い方をみていきましょう。 ローカルファイルの書込み方法 まずは保存時の処理の説明です。 EditTextに入力した文字列をテキストファイルとして保存する、という処理を例にします。 EditText et = (EditText)findViewById(R.id.edittext0
前回、Androidでは端末のメモリが不足するとstatic変数がクリアされたり、 Activityのメンバ変数がクリアされるという問題を紹介しました。 とはいえ、Object型変数であれば常に null になることを想定しなければならないとすると毎回 null チェックをしなければならないことになり、プログラムとしてもかなり可読性が悪いばかりか、不具合発生時に不具合を見逃す可能性も高くなります。 じゃあどうすればいい?ということになりますが、具体的な対処法の前に、まずはstatic変数がクリアされる理由について詳しく紹介します。 01. 端末がメモリ不足になってアプリを再アクティブにした場合、クラスロードから再度実行される 端末がメモリ不足になると、static変数やActivityのメンバ変数がクリアされると紹介しましたが、このとき、Javaとしてどのような動きをするかというと、クラス
本記事はAndroid DevelopersのDesigning for Seamlessnessを意訳、加筆したものです。Androidアプリをシームレスに連携させるためのノウハウを紹介します。 特性を理解する アプリケーションが高速に動作し、レスポンスが良くても、アプリケーション遷移やダイアログ表示を乱用した無計画なUI、不用意なデータの喪失、意図しないタイミングでの操作妨害など知らず知らずのうちにUXの良くない設計になっているかもしれません。これらの問題はどのように避ければ良いでしょう? アプリケーションが動作するコンテキスト Androidフレームワークの特性(アプリケーションへどんな影響を与えるか) を理解することが開発の手助けになります。 ユーザ操作を妨げない ユーザ操作のシームレス性で問題になるケースとしてよくあるのが、他のアクティブなアプリケーションを無視して、自分のダイア
“TwitterでOAuth認証を行う(3:Access Tokenを取得する)“で取得したAccess TokenとAccess Token Secretなど は、その情報をもっているだけでアカウントを使用できる為、情報を盗まれてアカウントを悪用されたり、 のっとられたりする恐れがあります。 このようなリスクを回避する為に、Access TokenとAccess Token Secretなどといった重要なデータは暗号化を 施して、盗まれても利用しにくいようにしておく必要があります。 2011/6/28:記事内のコードに脆弱性がある為、加筆・修正しました。 暗号化の詳細な方法は以下から。 AES暗号アルゴリズムとは AES暗号アルゴリズムは共通鍵暗号方式の代表的な暗号化アルゴリズムで、鍵長が128ビット、192ビット、 256ビットから選ぶことができるブロック長が128ビットのブロック暗号
節電のために、画面をOFFしたタイミングで3G通信をOFFにできるアプリを導入しました。 候補は、これらです。 Tasker Llama JuiceDefender ecoNetBattery data on demand この選択肢から、 とりあえず無料で試したかったので、Taskerが消えて、 定期的に3G通信してくれる機能が欲しかったので、data on demandが消えて、 そんな高機能なのは要らないので、Llamaが消えました。 それでJuice DefenderとecoNetBatteryが残ったのですが 両方試してみた感じ、 設定の分かりやすさや、レスポンス(画面ONにしてから3Gが使えるようになるまでの早さ)の面で、 ecoNetBatteryのほうが上でした。おまけに説明も日本語ですしね。 ツールの導入効果ですが 元々は1時間あたり10%ぐらいバッテリー消費をしていたの
現場でJavaのソースをレビューしていると、一目で「問題だ」と気づくコードによく出会います。 しかも、同じような問題をアチコチで見かけることも、少なくありません。 FindBugsを導入したおかげで、そういう問題が多少減ったものの、 やはりゼロになるわけではありません。 、、、ということで、 そんな問題コードに即座に反応できるようになるために、 私が見てきた問題コードをクイズ形式で紹介していきます。 ぜひ皆さんも、脊髄反射でNG部分を見つけてください。 見つけられなければ、適当にブクマでもしてください(笑 では今回は、日付チェックに関する問題です。 問題 以下のコードの問題を指摘し、修正してください。 ただし、問題は複数あることもあれば、全くないこともあります。 /** * 日付が正しい形式であり、存在する日付であることを検証します。 * * @param date 日付を示す文字列 *
よく定数クラスというものを見かける。 大体はXxxConstantsという名前で、public static finalなフィールドをたくさん持つクラス。 あるいは、定数クラス自身をinterfaceとして定義しておいて、 値を利用するクラスで、implementsするという手法も見かける。 初めて見た時には、便利な手法だと思ったけど、 その後、ひどい定数クラスを目にすることが少なくなかった。 定数クラスは、疎結合の考え方と全く合わないと僕は思う。 具体的に、悪い例を見ながら話していく。 public class XxxConstants { public static final String EOL = "\r\n"; public static final String ENCODING = "UTF-8"; public static final int HOGE_X = 480;
定数クラスについての指針は,アプリケーション開発指針などに簡潔に記されていることが多い。大規模プロジェクトであるにもかかわらず,役割や目的に応じた定数クラスの分割方針が示されず,単に「定数に関しては,分散しないよう定数専用のクラスを用意する」などと記されている場合は,一つの定数クラスに全定数の定義が集中し,巨大な定数クラスができ上がってしまう。 実装者の作業効率が悪化する 通常,定数クラスの利用者となるプログラマが必要とする定数は,一つないし数個に限られる。プログラマが,図2のような巨大な定数クラスから,必要な定数を探すことを想像してほしい。 【Javaの場合】 public class Construct { /** 処理結果コード : 対象なし */ public static final int NOT_FOUND = -1; /** 処理結果コード : 正常 */ public s
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く