Translate

2015年7月12日日曜日

Android Studio インストールメモ

OS X(10.9.5)に入れようとして例の場所で苦労したのでメモ。
結局なぜ入ったのか不明ですが・・・

まずはダウンロード
https://developer.android.com/sdk/index.html

DOWNLOAD ANDROID STUDIO FOR MACをクリック
ダウンロード完了するの待ちます。


ダウンロード完了したら、ファイル(android-studio-ide-141.1980579-mac.dmg)をクリック
ドラッグ&ドロップでApplicationフォルダにコピーします。


ApplicationにあるAndroid Studio.appを実行します。
開くを選択


以前の設定をimportするか聞かれるのですが、初めてなので I do not have a~を選択


Nextを選択


インストールタイプはStandardでNext


ライセンス同意のページですね。
android-sdk-licenseとintel-android-extra-licenseのそれぞれをクリックして
Acceptを選択します。するとFinishが選択できるようになるので選択

さて、ここからが戦いの始まりです。
Cancel/Retryの画面が出て先に進めなく成ります

The following SDK components were not installed: sys-img-x86-addon-google_apis-google-22 and addon-google_apis-google-22

ネットで調べてみるとGoogle APIs, Android 22が鬼門となっている話をちらほら見かけます。
解決方法として見かけたのは
・Android Studioの環境設定で Appearance & Behavior→System Settings→HTTP ProxyでAuto-detect proxy setttings
を選択するというもの。これはプロキシ設定のある環境にてインストール使用としている場合これが有効という話が・・・
→該当しないものの、念のためためすだけためしてみたものの自分には関係ないっすね。

・コンソール画面で、cd /Applications/Android\ Studio.app/Contents/MacOS
sudo studio で起動するというもの。これは最初っから権限のある状態でインストールすればいけたという話。
→やってみたものの何も影響無し

・Instrall TypeをStandardではなくCustomでやるとインストールできる説
 
Android SDK Platform, API 22 を共にチェックしてさて 次の画面へ・・・
と思っても

An existing Android SDK was detected. と怒られるわけで・・・


あきらめてもう一回Standardを選択して実行したら普通にインストールできました。。。
というお話。

2014年11月16日日曜日

いろいろメモ

独自例外
class AppException:Exception {
        public AppException() { }
        public AppException(string message) : base(message) { }
        public AppException(string message, Exception inner) : base(message, inner) { }
    }



using System.Reflection;

// アセンブリファイル名 の 取得
string fileName = Path.GetFileName(this.GetType().Assembly.Location);
 
// クラス名 の 取得
string className = this.GetType().FullName;
 
// メソッド名 の 取得
string methodName = MethodBase.GetCurrentMethod().Name;


SQLiteのSelectについて
//indexでアクセス
 while (reader.Read()){
  for(int i=0; i< reader.FieldCount; i++){
    Console.WriteLen(reader[i].ToString());
  }
}

//Colum名でアクセス
while(reader.Read()){
  Console.WriteLen(reader["Col1"]).ToString();
  Console.WriteLen(reader["Col2"]).ToString();
  Console.WriteLen(reader["Col3"]).ToString();
}

//GetStringでアクセス
 while (reader.Read()){
  for(int i=0; i< reader.FieldCount; i++){
    Console.WriteLen(reader.GetString(i));
  }
}

2014年11月2日日曜日

サブフォルだ配下のファイル一覧取得

dir "どっかのパス" /b /a-d /s

/b ファイル名 or ディレクトリ名のみ

/ad ディレクトリのみ
/a-d ディレクトリ以外

/s サブディレクトリ

2014年9月1日月曜日

msdnで後で読むリンク集

[クラス ライブラリ開発のデザイン ガイドライン]
http://msdn.microsoft.com/library/ms229042

2014年8月31日日曜日

プリプロセッサディレクティブ

#ifディレクティブに DEBUG をつけると、DEBUG用にビルドされた物を実行する時のみ実行される
using System.Windows.Forms;

namespace SampleCode {
    class Program {
        static void Main(string[] args) {

#if DEBUG
            MessageBox.Show("DEBUG");
#else
            MessageBox.Show("RELEASE");
#endif
            
        }
    }
}
DEBUGがあるならRELEASEもあるのかと思ったらそれはないのでelseで分岐する


同様のことは、System.Diagnostics.Conditional("DEBUG")でも実現でき
メソッド単位に使用する。この場合Release用にコンパイルされる側では
条件付きメソッドの呼び出しは削除されるそうな。
using System.Windows.Forms;

namespace ConsoleApp {
    class Program {
        static void Main(string[] args) {
            ShowMessage("DEBUGの時のみ実行");  
        }

        [System.Diagnostics.Conditional("DEBUG")]
        static void ShowMessage(string str) {
            MessageBox.Show(str);
        }
    }
}