Home > プログラム > Android

Android Archive

[Android] テキストへのリンク設定

TextViewに表示したURLにリンクを張るには次の2通りの方法があります。

  • レイアウトファイルでautolink属性を使う
  • プログラムでHTMLタグを埋め込む

 

レイアウトファイルでautolink属性を使う

TextViewタグにautolink属性を指定することでリンクを張ることができます。

<textview
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:autolink="web"
    android:text="http://google.co.jp" />

 
autolink属性ではURL以外のリンクを張ることもできます。
設定値およびリンク種別の対応は次の通りです。

設定値 リンク種別
web URL
email メールアドレス
phone 電話番号
map 住所
all 上記全て

 

Continue reading

[Android] メニュー処理

メニューボタンを押したときに出てくるメニューの実装方法を簡単にまとめてみました。
 

メニュー表示

Activityクラスの onCreateOptionsMenu() をオーバーライドし、この中にメニュー表示処理を実装していきます。
このメソッドは引数としてMenuオブジェクトを受け取るので、このオブジェクトに対してメニュー項目を追加していきます。

なお、このメソッドはメニューボタン押下時に一度だけ呼び出されます。

public class HogeActivity extends Activity
{
    //==== メニューID ====//
    private static final int MENU_ITEM1 = Menu.FIRST;
    private static final int MENU_ITEM2 = Menu.FIRST + 1;

    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu)
    {
        menu.add(Menu.NONE, MENU_ITEM1, Menu.NONE, "item1");
        menu.add(Menu.NONE, MENU_ITEM2, Menu.NONE, "item2");
        return super.onCreateOptionsMenu(menu);
    }
}

 

Continue reading

[Android] SDK Managerがうまく機能しないときは・・・

SDK Managerでライブラリなどをインストールする際に、以下のようなログが出力されてライブラリ情報の取得に失敗することがあります。

Fetching https://dl-ssl.google.com/android/repository/addons_list-1.xml 
Failed to fetch URL https://dl-ssl.google.com/android/repository/addons_list-1.xml, 
reason: Unknown Host dl-ssl.google.com 
Fetched Add-ons List successfully 
Fetching URL: https://dl-ssl.google.com/android/repository/repository-5.xml 
Failed to fetch URL https://dl-ssl.google.com/android/repository/repository-5.xml, 
reason: dl-ssl.google.com 
Fetching URL: http://dl-ssl.google.com/android/eclipse/site.xml 
Failed to fetch URL http://dl-ssl.google.com/android/eclipse/site.xml/addon.xml, 
reason: dl-ssl.google.com 
Done loading packages. 

 

このような場合はプロキシでアクセスが弾かれている可能性があります。

SDK Managerのメニュー [Tools] – [Option] を開いてプロキシ設定を行ってみると解決するかも・・・。
 
 

[Android] タイマーの使い方

時間経過や一定間隔での処理を行う場合にはタイマーがよく使われます。
今回はタイマーの基本的な使い方をまとめてみました。
 

タイマー機能はTimerクラスおよびTimerTaskクラスにまとめられています。
大まかな処理の流れは次のようになります。

  1. Timerオブジェクト作成
  2. Timerクラスの schedule() もしくは scheduleAtFixedRate() でタイマー起動
  3. Timerクラスの cancel() でタイマー停止&破棄

 

Timerオブジェクト作成

Timerクラスにはいくつかのコンストラクタが定義されています。

メソッド 説明
Timer() ユーザースレッドで動くタイマーオブジェクトを作成する。
Timer(boolean isDaemon) 指定されたスレッド種別で動くタイマーオブジェクトを作成する。
Timer(String name) 名前付きユーザースレッドで動くタイマーオブジェクトを作成する。
Timer(String name, boolean isDaemon) 指定された種別の名前付きスレッドで動くタイマーオブジェクトを作成する。

 
isDaemon という引数を取るコンストラクタがありますが、これはスレッド種別を指定するものです。
この辺りはスレッドに関する知識が必要になってきますので、簡単に説明しておきます。
 

Continue reading

[Android] ScrollViewのスクロールいろいろ

ScrollViewでスクロール位置を操作する方法。

最上部にスクロール

    scrollView= (ScrollView)findViewById(R.id.scrollView1);
    scrollView.post(new Runnable()
    {
        public void run()
        {
            scrollView.fullScroll(ScrollView.FOCUS_UP);
        }
    });

 

最下部にスクロール

    scrollView= (ScrollView)findViewById(R.id.scrollView1);
    scrollView.post(new Runnable()
    {
        public void run()
        {
            scrollView.fullScroll(ScrollView.FOCUS_DOWN);
        }
    });

 

Continue reading

[Android] ボタンの見た目をカスタマイズ

規定のボタンデザインを使ってもいいのですが、物足りなく感じることはないでしょうか?
どうせ自作アプリを作るなら、ボタンもオリジナルの見た目にしたいですよね。

そこで、今回はボタンの見た目を変更する方法について。
 

背景色の変更

android:background属性に背景色を指定するだけでも見た目がガラっ(?)と変わります。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <Button
        android:layout_width="100dp"
        android:layout_height="40dp"
        android:background="#00FF00"
        android:text="Hoge" />
</LinearLayout>


 
アルファ値を0にしたARBG値(#00000000など)を指定すると透明なボタンを作ることもできます。
 
 

Continue reading

[Android] 背景色の設定

Viewクラスで定義されている setBackgroundColor() で背景色を設定できます。
多くのUI部品はViewクラスを継承していますので、ButtonやTextViewなどいろいろなUI部品でここで紹介する方法が使用できます。
 

レイアウトファイルでの設定方法

android:background 属性にRGB値を指定することで背景色を設定することができます。

RGB値は頭に#を付け、次いで赤、緑、青の順で各値を16進数2桁で指定します。
言葉で表現すると分かり辛いですが「#RRGGBB」という形式で指定することになります。

各値は00~FF(10進数で0~255)の範囲で指定し、00に近いほど黒要素が強くなります。
「#000000」は黒、「#FFFFFF」は白を表します。

次のサンプルでは背景色として赤を設定しています。

    <Button
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#FF0000" />

 
 

Continue reading

[Android] WebViewで簡易ブラウジング

WebViewを使うことで簡単にブラウザ機能を実装することができます。
 

まずはレイアウトファイル。
こんな感じで記述します。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <WebView
        android:id="@+id/wv_Main"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
</LinearLayout>

 
プログラム側でWebViewクラスの loadUrl() を呼び出すことで対象ページを表示できます。

pubcli void loadGooglePage()
{
    WebView wvMain = (WebView)findViewById(R.id.wv_Main);
    wvMain.loadUrl("http://google.co.jp");
}

 
 

Continue reading

[Android] ログ出力

Logクラスを使うことで簡単にLogCatにログ出力することができます。
デバッグ時にはよくお世話になるので覚えておきましょう。
 

Logクラスではそのログ内容に応じて情報を分かりやすく整理できるようになっています。
以下のような分類が用意されていますので、可能な限り用途に応じたメソッドを使ってログ出力するようにしましょう。

分類 用途 メソッド
ERROR エラーログ Log.e
WARN 警告ログ Log.w
INFO 情報ログ Log.i
DEBUG デバッグログ Log.d
VERBOSE 詳細ログ Log.v

 

Continue reading

[Android] マルチスレッド(その1)

Androidでマルチスレッド処理を実現する方法には以下の2つがあります。

  • Java標準のThreadクラスを使用
  • AsyncTaskクラスを使用

 

今回はJava標準のThreadクラスを使う方法について。
 

Continue reading

ホーム > プログラム > Android

Search
Feeds
Meta
人気の記事

Return to page top