読者です 読者をやめる 読者になる 読者になる

【Android】SQLite unable to open database file (code 14)

SQLite で unable to open database file (code 14) が発生した場合 c.moveToFirst() ここで発生しました。 Cursor c = db.query(false, TABLE_NAME, null, selection, selections, null, null, null, null, null); boolean EOF = c.moveToFirst(); db.begin…

【Android】Drawable 透過の設定

setAlphaで透過を設定できます。 drawable = ResourcesCompat.getDrawable(getResources(), R.drawable.a, null);drawable.setAlpha(100); //0=透明、255=不透明

【Android】動的にidを設定する

res/values/ids.xml を作成 <resources> <item type="id" name="startbtn"/></resources> Button btn = new Button(this); btn.setId(R.id.startbtn); Button btn = (Button)findViewById(R.id.startbtn);

【Android】動的にlayout_gravityを設定する

スタートボタンの位置を動的に設定します。 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); FrameLayout l = new FrameLayout(this); setContentView(l); Button btn = new Button(this); btn.setTex…

初心者におすすめ!簡単なアプリが作れる!コードレシピ

簡単なアプリのコードを見ることができます。 初心者はまずは論理は後回しにして、動くものをつくってみることがおすすめです。 実際に動いているもののコードをみて、 自分でいじってみて、 仕組みを理解していくのがいいと思います。 そんなときのうれしい…

【Android】AlertDialog 複数の選択肢

AlertDialogで複数の選択肢の方法です。 final String[] items = {"登録", "削除"};AlertDialog.Builder alert = new AlertDialog.Builder(this);alert.setTitle("選択してください。");//setItemsを使用する場合、setTitleが必要alert.setItems(items, new …

【Android】java.lang.IllegalStateException: You need to use a Theme.AppCompat theme

java.lang.IllegalStateException: You need to use a Theme.AppCompat theme が発生した場合、AlertDialogのテーマを変更し対応します。 styles.xml <resources> <style name="AlertTheme" parent="Theme.AppCompat.Light.Dialog"> </style></resources> AlertDialog.Builder alert = new AlertDialog.Builder(new ContextThemeWrapper(this, R.s…

【Android】WebViewの選択文字列を取得する

WebViewの選択文字列を取得する方法です。 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_webview); wv = (WebView)findViewById(R.id.webview1); wv.setWebViewC…

【Android】YouTube Android Player API

YouTubeの動画を再生する方法です。 YouTube Android Player API を使用します。 ①YouTube Android Player API ・YouTubeAndroidPlayerApi-1.2.2.zip をダウンロード ・ご自分のプレジェクトの libs/に、YouTubeAndroidPlayerApi.jarを格納 ②Google API Cons…

【Android】android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.

android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. <原因> ワーカースレッドでUIの操作を行うと発生します。 <対策> ※okhttpでの例です Request request = new …

【Android】データベースのバージョンアップ

アダプタクラスに実装します。 DBのカラムを追加するためにバージョンアップしています。 public class DBAdapter { static final String DB_NAME = "my.db"; static final int DB_VERSION = 2; public static final String TABLE_NAME = "mynote"; public s…

【Android】Google Place API for Android

▼Place Picker try { PlacePicker.IntentBuilder builder = new PlacePicker.IntentBuilder(); //PlacePickerの起動 startActivityForResult(builder.build(this), PLACE_PICKER_REQUEST);} catch (GooglePlayServicesRepairableException e) { e.printStack…

【Android】Gitでバージョン管理

開発をすすめていくと何度となくソースを修正していくことになりますよね。 そんなときは、Gitでソースのバージョン管理しましょう。 Android Studioには、Gitが標準でセットされていますので、 さっそくはじめていきます。 ①「VCS」→「Enable Version Contr…

【Android】ICON作成(Android Asset Studio)

Android Asset Studioの「Launcher Icon Generator」を使えば 簡単にICONが作成できます。 ①画像を用意 ②画像の詳細設定(角丸とかの設定ができます) ③ダウンロード 以上です。 アウトプットされる画像は以下の5種類です。 mipmap-hdpimipmap-mdpimipmap-xhd…

【Android】ドロワー

------------------------------------------------------------------------------------------------------------- build.gradledependencies { compile 'com.android.support:appcompat-v7:24.2.1' compile 'com.android.support:support-v4:24.2.1' } --…

【Android】ちらつき防止+スプラッシュ画面

アプリを起動したときにアプリ名がタイトルにちらっと表示されますよね。 そのちらつきの対策です。 以下のようなスプラッシュ画面を表示することで対応します。 ----------------------------------------------------------------------------------------…

【Android】コンテキストメニュー

コンテキストメニュー 長押しでメニュー表示を表示させる仕組みです。 (リストビューに機能を配置する例です。) layout/activity_main.xml <ListView android:id="@+id/listview" android:layout_width="wrap_content" android:layout_height="wrap_content"/> menu/context_menu.xml </listview>

【Android】オプションメニュー

-------------------------------------------------------------------------------------------------------------- res/menu/option_menu.xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> </menu>

【Android】ViewPagerとFragmentTabHost

--------------------------------------------------------------------------------------------------------- build.gradledependencies{ compile 'com.android.support:support-v4:24.2.0'} ----------------------------------------------------------…

【Android】HTML設定

文字色などを変更したい場合や画像を表示する際、 HTMLをつかうことができます。 かゆいところに手が届く的な使い方ができますね。 -------------------------------------------------------------------------------------------------------- <文字色> …

【Android】Content-Type

Content-Type HTMLやJavaScriptなどWeb系のみなさんには同じみかもしれませんが。。 Android開発でも意識することはあります。 HTTP通信が発生するアプリをつくるときですね。 そもそもContent-Typeとは ファイルやデータのタイプのことです。 「ファイルの…

【Android】JSONPでWEBサイトをスクレイピング

JSOPを使えば、 みなさんに馴染みのあるDOM操作がAndroidでできます。 WEBサイトへのHTPP通信などは過去記事にあります stanleyblenz.hatenablog.com -------------------------------------------------------------------------------------------------- …

【Android】values(strings、colors、dimens、styles)

valuesフォルダにある ・strings.xml ・colors.xml ・dimens.xml ・styles.xml 基本系をご説明します。 ------------------------------------------------------------------------------------------------------------- ▼文字strings.xml<resources> <string name="title">タイトル</string></resources> レイア…

【Android】ListView(独自Adapter)

■登場人物 ・activity_main.xml ※LisvView ・main_adapter.xml ※ListViewの中身 ・MainParcel.java ※main_adapter.xmlにセットするクラス(独自Adapter) ・MainAdapter.java ※アダプター ・MainModel.java ※(Observableを継承+AsyncTaskクラス) ・MainFragme…

【Android】コンテキストメニューの文字色の変更

長押しで表示されるコンテキストメニュー コンテキストメニューのタイトル、項目名の文字色の変更になります。 -------------------------------------------------------------------------------------------------- ▼コンテキストメニューの登録ListView …

【Android】YouTube 「共有」からデータ保存まで

「共有」に自分のアプリを表示して、 YouTubeのタイトルやアドレスを取得する方法をご紹介します。 (「共有」へのアプリの表示の仕方は過去記事で確認できます) stanleyblenz.hatenablog.com -----------------------------------------------------------…

【Android】コールバック

Bクラスで行った処理を、Aクラスで処理したいときってよくありますね。 そんなときには、コールバックを使用します。 ------------------------------------------------------------------------------------------------------ ▼コールバックインタフェー…

【Android】ListView(基本編)

▼/layout/activity_main.xml ※リストレイアウト <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="wrap_content"> </linearlayout>

【Android】YouTube APIを使ってオリジナルアプリをつくる

最初にAPIの基本系をご説明します。 返却値の指定(id,snippet) https://www.googleapis.com/youtube/v3/search?key={API_KEY}&q=サッカー&part=id,snippet 50件までhttps://www.googleapis.com/youtube/v3/search?key={API_KEY}&q=サッカー&part=id&maxResul…

【Android】SharedPreferences (Activityが落ちてもデータ保存できる)

データを保存したいときってよくありますよね。 たとえばログインIDやパスワードなど。 簡単なアプリなら、サーバーではなくて端末内部に保存するのも方法です。 SharedPreferences を使えば、データ保存ができます。 しかも、Activityが落ちてもデータを保…

【Android】音楽再生

Androidプロジェクト内の音楽ファイルと 端末内蔵の音楽ファイルの再生方法についてになります。 --------------------------------------------------------------------------------------- ▼rawの音楽ファイルを保存app/src/main/res/raw/music.m4aMediaP…

【Android】コンテンツプロバイダ

コンテンツプロバイダ・・・ 複数のアプリでデータ共有するための仕組み (音楽、画像、連絡先、ブックマーク、カレンダーetc) ------------------------------------------------------------------------------------------------------ <データ格納先>※…

【Android】PendingIntent+AlarmManagerで目覚まし時計をつくる

目覚まし時計の仕組みを PendingIntent+AlarmManager を使用してつくってみます。 ------------------------------------------------------------------------------------------- // 目覚まし時間を定義 TimeZone tz = TimeZone.getTimeZone("Asia/Tokyo"…

【Android】WindowManager ロック画面の上から表示

WindowManagerを使うと、 端末ロックの画面の上に表示できます。 ------------------------------------------------------------------------------------------------------ ※ロック画面の上に表示する getWindow().addFlags(WindowManager.LayoutParams.F…

【Android】ロケーションの取得

「Locationクラス」 ロケーションの取得を行います。 -------------------------------------------------------------------------------------------------- AndroidManifest.xml ■詳細位置情報 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> ■おおよそ位置情報</uses-permission>

【Android】ネットワークの接続確認

「NetworkInfoクラス」 (ネットワークの接続確認をします) ConnectivityManager con = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = con.getActiveNetworkInfo();if(info != null && info.isConnected()){ //…

【Android】バイブレーション(振動)

「Vibratorクラス」 Vibrator v = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE);v.vibrate(500); ※0.5秒振動させる

【Android】日付クラス

Javaのお話です。 (わたしの場合、AlarmManagerといっしょに使うことが多いです) -------------------------------------------------------------------------------------------------------------- TimeZone tz = TimeZone.getTimeZone("Asia/Tokyo");Cal…

【Android】EditTextの雛形サンプル

EditTextの雛形サンプルです。 ▼雛形(入力してください) --------------------------------------------------------------------------------------------------------------------

【Android】タッチイベント

▼ドラッグしたときに座標を連続的に取得View v = inflater.inflate(R.layout.fragment, container, false);v.setOnTouchListener(this); @Overridepublic boolean onTouch(View v, MotionEvent event) { switch(event.getAction()) { case MotionEvent.ACTIO…

【Android】キーイベント

▼キーイベントView v = inflater.inflate(R.layout.fragment, container, false);v.setOnKeyListener(this); @Overridepublic boolean onKey(View v, int keyCode, KeyEvent event) { //KeyEvent.ACTION_DOWN クリックの際にDownとUpの2つのイベントが //飛…

【Android】クリックイベント

▼クリック(タグで判定)Button v = (Button)findViewById(R.id.btn);v.setTag(1); ※タグ設定v.setOnClickListener(this); @Override public void onClick(View v){ int num = v.getTag(); ※タグ取得} ------------------------------------------------------…

【Android】iTunes Search API 無料サンプルミュージックを聞こう

iTunesで無料サンプルミュージックを聞くことって多いですよね。 iTunesを使えばいいんですが、APIがあるので、 APIを使って、無料サンプルを聞けるアプリをつくってみます。 affiliate.itunes.apple.com <完成品> --------------------------------------…

【Android】アニメーションで画像を変化させよう

アニメーションを使えば、画像にいろいろな変化をあたえることができます。 「ObjectAnimator」を使います。 ---------------------------------------------------------------------------------------------------------- ImageView iv = (ImageView)find…

【Android】Handler(単純タイマー)

短時間の単純なタイマーにはAlarmManagerではなくHandlerを使いましょう (推奨) 実装はおどろくほど簡単です。 ----------------------------------------------------------------------------------------------------------- //2秒後に実行する例です。 /…

【Android】GC(ガベージコレクション)

AndroidというよりJavaのGC(ガベージコレクション) JVMのメモリ管理システム。 使用しなくなったメモリ領域を解放してくれる優れもの。 --------------------------------------------------------------------------------------------- どういうときに発…

【開発】Android Studioのショートカットコマンド

ほかのひとと比べるとあまり多くないかもしれません。 あまり多いと覚えられないので。。。 ▼検索/置換Shift+Shift ※検索Alt+F7 ※利用箇所検索Ctrl+Alt+H ※呼び出し元一覧(階層)Ctrl+E ※最近使ったファイルCtrl+F ※ファイル内検索Ctrl+R ※ファイル内置換…

【Android】正規表現

WEBスクレイピングなどで便利な正規表現 今回は正規表現の説明になります。 Pattern pat = Pattern.compile("[A-Z]");Matcher matcher = pat.matcher(word);if(matcher.find()) { //ヒットした場合の処理 } -----------------------------------------------…

【Android】デザインパターン(Singleton)

「Singletonパターン」 まずは実装からです。 ----------------------------------------------------------------------------------------------------------- <呼ばれる側> public class MainFragment extends Fragment { private static String SECTIO…

【Android】OkHttp POST編

OkHttpライブラリは、HTTP通信を行うライブラリです。 以前の記事では、GETを使用していたので、 今回はPOSTの使い方をご説明します。 stanleyblenz.hatenablog.com RequestBody requestBody = RequestBody.create( MediaType.parse("text/plain"), "Hello W…