タグ

AndroidとJavaに関するwakuworksのブックマーク (90)

  • 950ページ超え! Androidアプリの開発入門テキストが完全無料公開中!

    これから「Androidアプリを作ってみたい!」という人や、「もっと体系的に勉強したい!」という人に朗報です! アプリ開発スクールで知られる「TechInstitute」から、アプリの設計・開発・公開まで網羅した初心者向けの入門テキストが、なんと無料で公開されているのでご紹介したいと思います! 950ページを超えるボリューム満点のテキスト!「TechInstitute」のWebサイトで公開されている「専用ページ」にアクセスすると、誰でもすぐにテキストをダウンロードすることが出来ます! トピック毎に、興味のある分野だけダウンロードしたり、「まとめてDL」ボタンから一気にテキストを入手することも可能。 ファイルはPDFで提供されており、全部で950ページを超える大ボリュームの内容は以下の通り! <目次> ファーストステップ プログラミングとは何か コンピュータとスマートフォン 初回のプランニン

    950ページ超え! Androidアプリの開発入門テキストが完全無料公開中!
  • Androidの脆弱性を見つけちゃった話

    JVN#53768697 Android OS において任意の Java のメソッドが実行される脆弱性 が公表されました。 不肖私が昨年9月にIPAに届け出たものです。 これまでは情報非開示依頼があったので多くを語ることができませんでした。 ヤバい内容なのでみんなに注意喚起したかったけれどそれができない苦しさ。 周りでICS端末を使ってる人を見かけたら「事情は言えないけどブラウザにはChromeを使って。標準ブラウザ使わないで」と言うくらいしかできなくて申し訳ありませんでしたm(_ _)m 当時のいきさつを日記から掘り起こして記録に残しておきたいと思います。 2012年9月15日(土) WebViewを使ったビジネスアプリのフレームワークを作りたいという構想があって(PhoneGapにはないビジネス用の固有の機能を入れようと思って。バーコードリーダーとか印刷機能とか)、そういえば addJ

  • Android AudioRecord to Server over UDP Playback Issues

  • 【Android】メインスレッド(要は画面処理)でhttpリクエスト投げようとしたら怒られた。 〜NetworkOnMainThreadException〜 - 訳も知らないで

    Androidアプリで、画面からなにか処理した時に 外部のWeb APIから情報を取得(http getリクエスト)するロジックを書いていたのですが、 なぜかリクエスト投げるとNetworkOnMainThreadExceptionというエラーが返ってくる。。 調べてみると、どうやらAndroid3.0以上では メインスレッドからネットワーク処理を行うことを許していないらしい。 確かにエラーが出たときはAndroid4.?でデバッグしてました。 と、いうわけで 「AsyncTask」を使って別スレッドでhttpリクエストを投げることにしました。 〜大変参考になりました!〜 ・android開発|「AsyncTask」利用:android.os.NetworkOnMainThreadExceptionエラーへの対応方法 — 検索プログラマのメモ帳 ・AsyncTaskを使った非同期処理のきほ

    【Android】メインスレッド(要は画面処理)でhttpリクエスト投げようとしたら怒られた。 〜NetworkOnMainThreadException〜 - 訳も知らないで
  • AsyncTaskの使い方考察 - プログラマーの脳みそ

    Androidでの開発ではAndroid OSをある種のフレームワークと捉えてその作法に則ってうまく「使われる」プログラムを書かなくてはならない。なのでそのフレームワークがどういう仕組で、どういう流れで僕らの書いたコードを呼び出すのかということを理解することがよい設計に結びつく。と、大風呂敷を広げているが僕もさほどAndroidに精通していないのでこれは努力目標みたいなもんです。 大雑把に割愛して、今回のテーマに関係の深いところをピックアップする感じでいきますか。 テーマのAsyncTaskだけども、要は非同期処理をしたい時に使う。Javaで非同期処理といえばThreadなんだけどもAndroidでは一般にAsyncTaskを使う。AsyncTaskではUIスレッドを使った非同期処理を簡単に(?)実装できるという触れ込み。 UIスレッドとは? そこでまずUIスレッドとは何かを理解せねばなる

    AsyncTaskの使い方考察 - プログラマーの脳みそ
  • AsyncTask を利用した非同期処理 - Android 開発入門

    非同期処理と UI の更新 ではワーカースレッドを利用した非同期処理と UI を更新する時には Handler を利用して UI スレッドに対して処理をポストするという点について説明しました。 ここでは、そうしたバックグラウンドでの処理と UI とのやりとりをひっくるめて簡単に操作するための、 AsyncTask クラスの利用方法を説明します。 さらに、ついでに ProgressDialog のキャンセル処理とプログレスバーの表示についても説明します。 ProgressDialog と非同期処理のキャンセル ここで作るサンプルプログラムは次のようなものです。まずはボタンが一つだけあります。 このボタンをクリックすると、下のスクリーンショットのようにプログレスバー付きの ProgressDialog が表示されます。 この進捗が100%になったところで、ダイアログは消えます。また、 BACK

    AsyncTask を利用した非同期処理 - Android 開発入門
  • 日本語連続音声認識エンジン"Julius"をAndroidで動作させる 3 - Tech-Sketch

    語連続音声認識エンジン"Julius"をAndroidで動作させるの連載3回目、最終回をお届けします。 第一回 と 第二回 で、Juliusを用いたAndroidでオフライン音声認識を行うアプリのJNIライブラリが生成できました。最終回の今回は、JNIを利用するJava側の実装について解説します。動作イメージは以下のようになります。 今回も少し?濃いですが、出てくるのはJavaコードだけなので大丈夫!タブンね? では、始めましょう! AndroidでJulius用に音声を録音する  Androidで音声を録音するためには、 MediaRecorder を用いる方法と AudioRecord を用いる方法の二種類が存在します。マイクから入力された音声を録音してファイル出力するだけならば、高レベルなAPIを提供するMediaRecorderを用いるほうが簡単です。出力ファイルのopen/c

  • MediaRecorder overview  |  Android media  |  Android Developers

  • SDカードにファイルを保存する | TechBooster

    今回は、SDカードにファイルを保存する方法を説明したいと思います。 Android端末の多くは(micro)SDカードスロットを備えており、アプリケーションから利用することができます。内蔵ストレージが少ない端末もあるため、大きいファイルはSDカードに保存したいものです。 また、SDカードに保存することで、ユーザーがパソコンを繋いでデータをコピーすることも可能になります。 SD カードを利用することは難しくないのですが注意する点が二つあります。 それを続きで説明します。 SDカードのパス SD カードのパスは端末によってことなる場合があります。私の手元の端末では /sdcard /mnt/sdcard/ の2つのパターンがありました。 もしかすると端末によってはこれ以外のパスがSDカードに割り当てられているかもしれません。また、同じ端末でもOSのアップデートによってパスが変わらないとも限りま

  • モバイルとかAndroid、ガジェットな日常…… arc iPhone touch Androidで録音!Part1 生データのPCM16BITを取得してみる

    録音アプリ的なものを作っていこうと思います。 まあこの記事を書くまでに4日以上Eclipseさんと格闘していたのですがね('A`) 最初からWAVEにしたかったんですが、Androidさんではまず生のデータを作ってから変換していくらしいです。 いろんなサイトさんめぐって書きました。理解できてない面も多々あります。 さて、これをWAVEに変えていかねば(`・ω・´) てかスクショにHello World残ってる(/ω\)ハズカシーィ ソースコードは続きから パッケージやらインポートはCtrl+Shift+Oでどうとでもなるので書いてません。 public class AnalyzerActivity extends Activity implements Runnable { boolean isWait = true; boolean isEnd = false; int bufferR

  • Android AudioRecordクラス

    Androidのマイク入力を扱うためにAudioRecordクラスのテスト。 色んなサイト見てコーディングしてみた。 …がうまくいかない。 ソースはこんなん(注:実行しても動きません→追記:permissionの設定すれば動きます。この記事参照) package org.example.microphone; import android.app.Activity; import android.media.AudioFormat; import android.media.AudioRecord; import android.media.MediaRecorder; import android.media.AudioRecord.OnRecordPositionUpdateListener; import android.os.Bundle; import android.util.

  • Google グループ

    Google グループでは、オンライン フォーラムやメール ベースのグループを作成したり、こうしたフォーラムやグループに参加したりすることで、大勢のユーザーと情報の共有やディスカッションを行うことができます。

  • Open Camera - Android用のオープンソースカメラアプリ

    MOONGIFTはオープンソース・ソフトウェアを紹介するブログです。2021年07月16日で更新停止しました Android用に高機能カメラアプリが欲しいあなたに! スマートフォンと言えばカメラと言われるほど人気の高いジャンルです。Androidでも様々なコンセプトによるカメラアプリがリリースされています。そのどれを選んだら良いか迷ってしまうでしょう。 もしあなたがプログラマーであればオープンソースのカメラアプリなんていかがでしょう。もちろんライセンスだけでなく機能だって多彩です。それがOpen Cameraです。 Google Playで公開されていますのでインストールはとても簡単にできます。 ではまず起動してみましょう。 特徴的な機能として自動安定化というのがあります。自動で水平に撮影してくれるので奇麗に撮れるという機能です。フラッシュはオン、オフの他に常時つきっぱなしになるトーチモー

    Open Camera - Android用のオープンソースカメラアプリ
  • 【PC】Android で UDPマルチキャスト - ★ The Tsuchinoko News 2 (つちのこ通信2) ★

    Androidで UDPのマルチキャスト(ブロードキャスト)を行うというキーワードで検索すると、当ブログが検索結果として出てくるようで、たぶんサンプルソースコードを期待して来訪される方が大変多い。たしかにサンプルコードを探してみると、ものすごく少ないので掲載しておくことにする。 実は、はてなダイアリーからはてなブログになって半月ほど経過するが、HTMLを使えるとはいえ、はてな記法なんかも魅力的だったりして、その意味では未だに、はてなブログは非力だ。もちろんCSSを駆使しHTMLを書けばいいのだろうが、毎日毎日書くブログがそんなことでは不便で仕方がない。さらなる、はてなブログの進化を待ちながら、ソースコード掲載の練習も兼ねてたりして・・・ package ***.***.****; import java.io.BufferedReader; import java.io.IOExcepti

    【PC】Android で UDPマルチキャスト - ★ The Tsuchinoko News 2 (つちのこ通信2) ★
  • Spring for Android 1.0登場 - SpringフレームワークをAndroidへ

    Springチームは5月30日(米国時間)、「Spring for Android」初のメジャーバージョン「Spring for Android 1.0.0」を公開した。Spring for Androidは、Android向けのアプリケーション開発フレームワーク。Androidで動作するネイティブアプリケーションの開発を容易にすることを目的に提供されている。 Spring for Androidは、同チームが開発しているSpring FrameworkをAndroid向けに拡張したアプリケーションフレームワーク。Spring for Androidには、Android環境向けにJavaベースのREST(Representational State Transfer)クライアントや、セキュリティで保護されたWebサービスAPIにアクセスするための認証サポートなどが提供されている。 Spr

  • Android ログレベルを制御する方法 | TechBooster

    Androidではデバッグログのタグを指定して出力したいログの重要度=ログレベル(以下ログレベルと呼びます)を設定することができます。アプリケーション側からは任意のタグに現在設定されているログレベルを知る事ができるので、デバッグログの出力をログレベルに応じてコントロールすることができます。 開発者は現在設定されているログレベルに応じてログを出力するように意識しておくべきです。 そうでないと、アプリケーションのログが全て出力されてしまうことになるので、ログの量によっては Androidデバイス全体のパフォーマンスを落とす原因に繋がります。 必要なときに必要なログだけ出力できるようにアプリケーション側で考慮しておく必要があります。 今回はログレベルに応じてログを出力する方法について紹介します。 ※デバッグログのフィルタリングについては「デバッグログを使いこなす」でも出力されたデバッグログをフィ

    Android ログレベルを制御する方法 | TechBooster
  • JSOUPを使ってHTMLをパースする | TechBooster

    Techboosterでは、これまでXMLをパース(解析)するやJSONをパース(解析)するで、Web上のコンテンツをパース(解析)する方法を紹介してきました。 今回は、JavaHTMLパーサであるjsoupを用いてHTMLをパースする方法を紹介します。 jsoupは、HTTPのリクエストを投げるだけでDOMオブジェクトとしてHTMLを返してくれる便利なライブラリです。 jsoupのダウンロード Jsoupの公式HPはこちら http://jsoup.org/ ダウンロードはこちら http://jsoup.org/download ダウンロードのページからjarファイルをダウンロードします。 ※2012年2月23日現在では、バージョンは1.6.1でした。 jarファイルをダウンロードしたら、プロジェクトにクラスパスを通します。 クラスパスを通すには、プロジェクトの「プロパティ」から「J

    JSOUPを使ってHTMLをパースする | TechBooster
  • Android ACRAを使ってアプリのクラッシュ情報を自動送信する方法 | TechBooster

    ACRA(Application Crash Report for Android)とは、Androidアプリがクラッシュしたときに、アプリがどのような環境と状況でクラッシュしてしまったかというレポートを開発者に知らせるためのライブラリです。 ACRAを利用することで開発者はAndroid Marketに公開後、ユーザがアプリを利用中に発生したクラッシュの原因を詳細に得ることができるようになります。 ACRAでは開発者に知らせる手段として幾つか選択肢が用意されています。 [table “216” not found /] 今回はGoogle Docsへクラッシュレポートを送信する手順について解説したいと思います。 詳しい解説は続きからご覧下さい。 ライブラリはRCRAのプロジェクトサイトに公開されています。 利用までの手順としては以下の通りです。 ライブラリの入手 Google Docsの

    Android ACRAを使ってアプリのクラッシュ情報を自動送信する方法 | TechBooster
  • TwitterでPIN番号認証を行う | TechBooster

    TwitterでOAuth認証を行う1,2,3ではブラウザからのIntent起動を利用してOAuthを実現しました。 今回はtwiccaなどで使用されているPIN番号(暗証番号)を使用した認証方法を紹介します。 PIN番号認証はIntentを使った認証よりも実装が容易であるというメリットがあります。 詳細は以下から。 サンプルについて この記事でのサンプルはイカのような内容になっています。 ソースコード AuthTwitterActivity.java:PIN番号認証を行うActivity レイアウト auth_twitter_activity_start.xml:認証用ブラウザを開くための同意画面 auth_twitter_activity_type:PIN番号認証を行う画面 アプリケーションをTwitterに登録する Twitterと連携したアプリケーションを作成するにはTwitter

    TwitterでPIN番号認証を行う | TechBooster
  • 難読化していないAndroidアプリケーションは脆弱性か

    このエントリでは、Androidアプリケーションにおいて、難読化が施されていない場合、脆弱性にあたるかについて議論します。 はじめに Androidアプリケーションは主にJava言語で記述され、DEX形式のファイルにコンパイルされたコードを、DalvikというJava互換VM上で実行します。DEXおよびAPKファイルの仕様は公開されており、DEXにはクラスやメソッド等のシンボル名も含まれているため、リバースエンジニアリングが容易であると言われています。このため、Android SDKには標準でProGuardという難読化ツールが添付されています。 それでは、難読化の目的はそもそも何で、難読化でその目的は達成されるのでしょうか。 難読化の目的 Webアプリケーションの場合は、重要なロジックは主にサーバー側に存在するため、ソースコードを外部から取得することはできません。これに対して、スマートフ