2015年6月24日水曜日

[streaming] Онлайн Радиод зориулсан аудио стрийминг / Audio streaming for online radio

Permission uguh
<uses-permission android:name="android.permission.INTERNET" />


mediaPlayer = new MediaPlayer();

String streamUrl = "http://153.127.247.79:30001/listen.mp3";

mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

try {
    mediaPlayer.setDataSource(streamUrl);
} catch (IllegalArgumentException e) {
    Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (SecurityException e) {
    Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (IllegalStateException e) {
    Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (IOException e) {
    e.printStackTrace();
}

try {
    mediaPlayer.prepare();
} catch (IllegalStateException e) {
    Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
} catch (IOException e) {
    Toast.makeText(getApplicationContext(), "You might not set the URI correctly!", Toast.LENGTH_LONG).show();
}

mediaPlayer.start();

2015年3月8日日曜日

[Async] холбоотой хэрэгтэй холбоосууд


1. Groundy lib болоод бусад
http://stackoverflow.com/questions/3028306/download-a-file-with-android-and-showing-the-progress-in-a-progressdialog

2. Прогрэссийг тэмплэйт
http://android.keicode.com/basics/async-asynctask.php

3. Yapon hel deerhi Android Wiki
http://wikiwiki.jp/android/?AsyncTask%A4%C7%A5%D0%A5%C3%A5%AF%A5%B0%A5%E9%A5%A6%A5%F3%A5%C9%BD%E8%CD%FD%A4%F2%B9%D4%A4%A6

2014年11月22日土曜日

[audio streaming 1] Adobe Air 2.5 on Flash CS4

Audio streaming 1 on Android

Андройд дээр аудио streaming хийхэд rtmp протокол ашиглаж байгаа тохиолдолд 2 янзаар програмчлаж болно.
1. Энэ удаагийн арга буюу Adobe AIR 2.5 ашиглах
2. WebView ашиглаж flash player ашигласан вэб уншиж аишглах

Adobe AIR 2.5 on Flash CS4

Япон дээр байгаа тул орчуулах шаардлагатай.
эх сурвалж: http://www.hara3.net/blog/2010/06/air_for_android.html

AIR for Android の作り方

Android、ちょー面白い。
というわけで、最初の設定メモです。
おいらの環境は
Windows XP
Flash CS4
です。
CS4での設定が主なので、CS5を持ってる方は英語だけどこのビデオを見ると出来るようになるとおもうよ。
[gotoAndLearn() - Free video tutorials from Lee Brimelow on Adobe Flash]
http://www.gotoandlearn.com/play.php?id=123
■準備するもの
・Android端末
・Android SDK
・Adobe AIR for Android
■作業手順
1.Android SDKのインストールと設定
2.Android端末の設定
3.Adobe AIR for Androidの設定
4.Flash CS4で書き出し/Android端末へ転送
じゃあ、やりますか。
—–
EXTENDED BODY:
1.Android SDKの設定
まずはAndroid SDKをここからダウンロードする。
[Android SDK | Android Developers]
 http://developer.android.com/sdk/index.html
2010-06-17_1539
ダウンロードしたandroid-sdk_r06-windows.zipを適当な場所に解凍。
おいらはCドライブの直下に設置したよ。
SDK Setup.exeを起動してUSBドライバをインストールする。
(よくわからなければまるっと全部インストールしちゃってOKです。)
で、重要なのはSDKじゃなくてtoolsフォルダにあるadb.exeとddms.bat。
adb.exeはAIRアプリをAndroid端末にインストールしたりするアプリです。
Android端末がPCと繋がってるかのチェックなどもできるので便利。コマンドプロンプトから使います。
[adbの使い方]
まずは、コマンドプロンプトを立ち上げる。
adb.exeまでのパスを絶対パスで書く。(拡張子の.exeはいらない。)
> C:\android-sdk-windows_r06\tools\adb2010-06-17_1604
エンターキーを押すと、adbで使えるコマンドがドバっと出た!
これがでると、adbが正常に動いてます。2010-06-17_1604_001
*adbへのパスを通す。
adbを叩くのに毎回絶対パスでadbを指定すのはめんどいので、「パスを通す」ってことをして、ショートカットみたいな感じで使えるように設定しておくと便利。
[パスの通し方]
1.マイコンピュータを右クリックして[プロパティ]を開く。
2.[詳細設定]タブ→[環境変数]ボタンをクリック。2010-06-17_1608
3.システム環境変数の中のPathを選択し、[編集]ボタンをクリック。2010-06-17_1611
4.いろいろと設定されているのもあると思うので、それらを消さないように注意しながら、行の最後に;区切りでadbまでのフォルダ名を登録する。
僕の場合は、「;C:\android-sdk-windows\tools」
*既に設定されてるPathを消しちゃうとシステムがおかしくなるので注意すること。2010-06-17_1615
5.Windowsを再起動する。
コマンドプロンプトを立ち上げてadbと打ってみる。
> adb
2010-06-17_1623
絶対パスを指定した時と同じように動けば大成功。
ddms.batはダブルクリックすると起動します。
これはAndroid端末のスクリーンショット取ったりできるので便利。
2.Android端末の設定

開発用したAIRアプリを端末に転送出来るように設定する。
1.端末下のメニューボタンをおして、[設定]→[アプリケーション]→[提供元不明のアプリ]にチェック。
device1device2device3
2.同じ画面から[開発]→[USBデバッグ]にチェック。
device3_2device4
これができたら、Android端末をUSBケーブルで繋ぐ。
初回はドライバのインストールを求められるかも知れませんが、SDKをダウンロードしてるのでそのあたりを指定すれば勝手にインストールしてくれる筈。
コマンドプロンプトを立ち上げて
> adb devices
って打つと、USBに繋がったAndroid端末の情報が表示される。
2010-06-17_1643
3.Adobe AIR for Androidの設定
ここからいろいろとダウンロードする。
http://labs.adobe.com/technologies/air2/android/
[Sign-up now to participate in the AIR for Android prerelease program]からサインアップ。2010-06-17_1540
ログインID持ってても[ REGISTER NOW! ]から入っていく。気を引き締めて常に新鮮な気持ちで。
2010-06-17_1800
まずはAndroid端末用のAIR Runtimeをダウンロードする。
[Download Software]→[Download AIR for Android Builds]へ。
「1. AIR 2.5 Runtime – Device [For FroYo onwards]」をクリックして「Runtime_Device_Froyo_20100610.apk」をダウンロード。とりあえずデスクトップに落としてみた。
2010-06-17_1816
次にダウンロードしたAIR 2.5 Runtimeをadbを使ってAndroid端末にインストールする。
コマンドプロンプトを開いて、「Runtime_Device_Froyo_20100610.apk」をダウンロードしたフォルダ(デスクトップ)に移動。
>cd C:\Documents and Settings\hhara3\デスクトップ
2010-06-17_1831
Android端末がPCとUSB接続されていることを確認してからadbでインストールします。
>adb install Runtime_Device_Froyo_20100310.apk
2010-06-17_1833
しばらくしてSuccessってなるとインストール完了です。
2010-06-17_1834
次にFlashの設定をする。
CS4の場合は、AIR 2.5を手動で入れないといけない。
ちょっとめんどいので気合入れてやるべし。
1.Air 2.5 Runtimeを落としたページのちょい下にSDKへのリンクがあるので、Windowsの場合はAIR25_win_sdk_20100610.zipをダウンロードして解凍しておく。
2010-06-17_1816_2
2.Flash CS4 のインストールフォルダを開く。おいらは[C:\Program Files\Adobe\Adobe Flash CS4\]。
3.この中の[AIK1.5]フォルダいじるのでバックアップしてどっか別の場所に置いておく。
4.新しく「AIK1.5」という名前でフォルダを作成
5.ダウンロードした AIR 2.5 SDK を解答し「AIK1.5」フォルダにそのまま放り込む。
6.新しくなった[AIK1.5]内のframeworks/libs/air/フォルダにある「airglobal.swc」を[Adobe Flash CS4/Common/Configuration/ActionScript 3.0/AIR1.5/]フォルダにコピーする。
SDK内のbinフォルダにあるadl.exeとかadt.batが重要で、この二つはadbみたいにコマンドプロンプトを使って起動するアプリなんだけど、これを使ってswfファイル一式をAndroid用アプリに変換するっぽい。
なので簡単に使えるように、adbのときみたいに最初にパスを通しておく。
おいらの場合は[C:\Program Files\Adobe\Adobe Flash CS4\AIK1.5\bin]なので、;で区切って追加しておく。
2010-06-17_2013
これで準備が整ったので、FlashCS4を立ち上げてAirアプリを作ってみる。
4.Flash CS4で書き出し/Android端末へ転送
とりあえずCS4を立ち上げて適当にサンプルを作る。
ネコちゃんの絵を描いてみた。
2010-06-17_2022
完成したらnya.flaとして保存してAIR書き出し。
表面上はAIR 1.5の書き出しだけど、SDKを入れ替えたのでちゃんと2.5になってる(ハズ)。 
証明書とかもちゃんと作る。
後でパスワードを聞かれるので覚えておく。2010-06-17_2024
フォルダ内に
・nya.fla
・nya.swf
・nya-app.xml
・nya.air
・mycert.p12
ができた。
2010-06-17_2025
ここまで来たらあとちょっと。
これをAndroidアプリ用の.apkファイルに変換する。
まずは、nya-app.xmlの修正。
nya-app.xmlを開いて、
<application xmlns=”http://ns.adobe.com/air/application/1.5″>

<application xmlns=”http://ns.adobe.com/air/application/2.5″>
に変更。
あと、
<version>1.0</version>
も書式が変わったみたいなのでこんな感じに書き直す。
<versionNumber>1.0</versionNumber>
<versionLabel>v1</versionLabel>
あと、アイコンとか今回は準備してないので
  <icon>
    <image128x128>AppIconsForAIRPublish/AIRApp_128.png</image128x128>
    <image48x48>AppIconsForAIRPublish/AIRApp_48.png</image48x48>
    <image32x32>AppIconsForAIRPublish/AIRApp_32.png</image32x32>
    <image16x16>AppIconsForAIRPublish/AIRApp_16.png</image16x16>
  </icon>
の部分をごそっと消す。
完成したxmlはこんな感じ。
—————————–
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no” ?>
<application xmlns=”http://ns.adobe.com/air/application/2.5″>
  <id>com.adobe.example.nya</id>
  <versionNumber>1.0</versionNumber>
  <versionLabel>v1</versionLabel>
  <filename>nya</filename>
  <description/>
    <name>nya</name>
  <copyright/>
  <initialWindow>
    <content>nya.swf</content>
    <systemChrome>standard</systemChrome>
    <transparent>false</transparent>
    <visible>true</visible>
  </initialWindow>
  <customUpdateUI>false</customUpdateUI>
  <allowBrowserInvocation>false</allowBrowserInvocation>
</application>
—————————–
コマンドプロンプトを立ち上げて.apkファイルを作成する。
まず、nya.flaのあるフォルダに移動。
> cd C:\Documents and Setting\hhara3\デスクトップ\cs4air25
2010-06-17_2026_002
.akpファイルを作成する。コマンド長いけど頑張る。
> adt -package -target apk -storetype pkcs12 -keystore mycert.p12 nya.apk nya-app.xml nya.swf
//airじゃなくて.swfを指定するらしい。.airいらないのか…。
2010-06-17_2028
パスワードを聞かれるので、証明書と同じパスワードを入力する。
キー入力してもコマンドプロンプトが反応しないけど大丈夫。入力は受け付けられてるから、ちゃんとパスワードを打ったと思ったらエンターキーを押す。
2010-06-17_2028_001
で、フォルダを見てみると、
nya.apkできた!!!
2010-06-17_2032_002
あとはadb使ってAndroid端末にインストール。
> adb install nya.apk
2010-06-17_2033
さあ、端末で確認。
おおおおおおおおお、nya発見!!!!!!!!!!!
device5
なんか規約が出てきたのでOK出すと、
device6
で、できた~!!!!!!!!!
かわいいよ、かわいいよ、ネコちゃんかわいいいよ!!!!!
device7
と、まあ、手順は長かったけど、CS4でもなんとかAIR for Android作れます。
新しいアプリを作ったら、「4.Flash CS4で書き出し/Android端末へ転送」からの手順を踏めばOKですね。
この手順がめんどければCS5を買いましょう。
気になったのは、.airじゃなくて.swfを.apkに変換するというところ。その辺に転がってるゲームのswfなんかをちょちょいとすれば、結構簡単にAndroidアプリになるのかなあ、と。ステージサイズの問題とかあるからそのあたりは考慮しなくちゃいけないんだけども、昔作ったゲームを片っぱしから変換してみよう。
では、おつかれさーーーーーーーーーん。

2014年10月2日木曜日

[Basic] Үндсэн ойлголт авахад хэрэгтэй зүйлс


  • Application name
    • Name with icon
  • Title
    • Android market name
  • Icon name

  • Activity
    • AndroidManifest.xml
      • Application Nodes
      • Intent Filter
        • Action
          • android.intent.action.MAIN
        • Category
          • android.intent.category.LAUNCHER
        • Data
  • Package

[NabarLibrary] [FileManager] Файл татах library

source credit: http://www.helloandroid.com/tutorials/how-download-fileimage-url-your-device

package nabar.library.filemanager;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.net.URLConnection;

import org.apache.http.util.ByteArrayBuffer;

import android.os.StrictMode;
import android.util.Log;

public class FileManager{
private final String filePath = "/sdcard/nabar/";
private final String urlPath = "http://download url";

public void downloadFromUrl(String fileURL, String fileName){
StrictMode.ThreadPolicy policy = new
StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);

        File fileDirectory = new File(filePath);
if(!fileDirectory.exists()){
if(!fileDirectory.mkdirs()){
Log.e("FileManager::", "Problem creating Nabar directory");
}
}

try {
       URL url = new URL(urlPath+fileURL); //you can write here any link
       File file = new File(filePath+fileName);
     
       long startTime = System.currentTimeMillis();
       Log.d("FileManager", "download begining");
       Log.d("FileManager", "download url:" + url);
       Log.d("FileManager", "downloaded file name:" + fileName);
       /* Open a connection to that URL. */
       URLConnection ucon = url.openConnection();

       /*
        * Define InputStreams to read from the URLConnection.
        */
       InputStream is = ucon.getInputStream();
       BufferedInputStream bis = new BufferedInputStream(is);

       /*
        * Read bytes to the Buffer until there is nothing more to read(-1).
        */
       ByteArrayBuffer baf = new ByteArrayBuffer(50);
       int current = 0;
       while ((current = bis.read()) != -1) {
baf.append((byte) current);
       }

       /* Convert the Bytes read to a String. */
       FileOutputStream fos = new FileOutputStream(file);
       fos.write(baf.toByteArray());
       fos.close();
       Log.d("FileManager", "download ready in"
+ ((System.currentTimeMillis() - startTime) / 1000)
+ " sec");
} catch (IOException e) {
       Log.d("FileManager", "Error: " + e);
}
}
}

[Intent] ашиглаад activity хооронд шилжих

Intent i = new Intent(getApplicationContext(), NerActivity.class);
startActivity(i);