SAXParserを使って作ったandroidアプリをGALAXY Nexus上でテストしていたのだが、java.io.IOExceptionが発生してどうしても動かない。 SAXParserFactory factory= SAXParserFactory.newInstance(); SAXParser parser= factory.newSAXParser(); parser.parse("http://api.hoge.co.jp/RestSearchAPI/?mode=1", new HogeHandler()); 〜 java.io.IOException発生 この様なコードでインターネットを介したWebサービス用の公開URLに対して同パーサでアクセスすると、何故かjava.io.IOExceptionがスローされるのである。 AndroidのWebブラウザを使って同様のUR
PhoneGap is an HTML5 app platform that allows you to author native applications with web technologies and get access to APIs and app stores. PhoneGapチームは20日(米国時間)、PhoneGapの最新版「PhoneGap 2.0」を公開した。PhoneGapは、HTML5、JavaScript、CSSなどのWeb標準技術を使ってネイティブなモバイルアプリケーションの開発を可能にするプロダクト。Adobe SystemsおよびApache Cordovaの支援のもと開発されており、様々なモバイルプラットフォームに対応したアプリケーションを開発できる。 PhoneGapはiOS、Android、Blackberry、Windows Phone、Pa
7インチ向けレイアウトとは? Android 4.1 UI is different for 7, 10 inch tabletsの記事によると7インチ向けに新しいレイアウトが提示されたという記載がありました。どのようなレイアウトなのかをソースコードから調査してみました。 対象ソースコード 以下のようにAndroidの一部のソースコードはSDK Manager から提供されていますので、そこから該当するソースコードを探しました。 ここで取得したソースコードは、[Android SDKのインストールパス] android-sdk-windows\sources\ 以下に保存されます。Android4.1の場合は、android-16 のため、android-sdk-windows\sources\android-16 以下が該当するソースコードです。 この中の \com\android\in
Fragment のサンプルでは、setArguments() を使って Bundle を介して値を渡している例を多く見かけます。 ① HogeFragment f = new HogeFragment(); Bundle args = new Bundle(); args.putInt("num", num); f.setArguments(args); とやるより ② HogeFragment f = new HogeFragment(num); や ③ HogeFragment f = new HogeFragment(); f.setNum(num); とかやった方がいいんじゃない? Arguments 介するのは面倒じゃない?なにがいいの? と思う人も多いのではないでしょうか。 そこで、Arguments がどういいのかを説明したいと思います。 1. Fragment のコンスト
スマートフォン向けとタブレット向けで、Androidのバージョンがフォークしてしまった最大の要因は画面サイズにあります。Androidのコンセプトである「1つのActivityが画面を占有する」という振る舞いは、タブレットの大き過ぎる画面にはマッチせず、3.xでは考え直さざるを得なかったわけです。 待たれる「Ice Cream Sandwich」 このスマートフォン向けとタブレット向けで使用されるOSが異なるという状況は、次期Android OSである「Ice Cream Sandwich」で統合して解決される見込みです。Ice Cream Sandwichは画面サイズに応じてアプリの画面がスケールし、スマートフォン向け、タブレット向けに同一のアプリで対応できるようになります。 Android 3.0新機能「Fragments」と「Android Compatibility Package
androidActivity内に以下のコードを記述する。 @Override public boolean dispatchKeyEvent(KeyEvent e) { // 戻るボタンが押された if(e.getKeyCode() == KeyEvent.KEYCODE_BACK) { // ボタンが押し込まれた時のみ反応させる(ACTION_UPなら、ボタンを押して、離した時) if(e.getAction() == KeyEvent.ACTION_DOWN) { return false; } return true; } return super.dispatchKeyEvent(e); }
AndroidではWebkitベースのブラウザ機能をWebViewとういうビュークラスからアクセスできる。これを使えば、htmlファイルを表示したり、Webサイトを閲覧するアプリケーションが簡単に作れる。ここでは段階を追ってWebViewの使い方を見てみる。 単純なWebアクセス まずは一番単純なブラウザを作ってみよう。必要となるものはURLを入力するエリア、URLへ移動を指示するボタン、URLで指定されたWebサイトを表示するエリアとなる。その前に一つしておかなければならないことがある。インターネットへのアクセスは権限が必要なため、マニフェストファイルに宣言がしておく。 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" pa
WebViewを使いいくつかのページを移動しながら閲覧した場合には、閲覧した順に履歴を内部的に保持しています。通常のブラウザと同じく現在表示しているページから前のページに戻ったり、一度戻ってから改めて次に見たページへ進んだりといったことを行うことができます。 戻る場合には「WebView」クラスで用意されている「goBack」メソッドを使います。 goBack public void goBack() Go back in the history of this WebView. メソッドを実行すると1つ前に開いていたページへ戻ります。 進む場合には「WebView」クラスで用意されている「goForward」メソッドを使います。 goForward public void goForward() Go forward in the history of this WebView. メソッ
本連載では、セキュアコーディングスタンダード「CERT Oracle Secure Coding Standard for Java」の内容をベースに、Android特有の情報を交えつつ、堅牢なプログラムを開発するためのノウハウを具体的な事例とともに紹介していきます。第1回では、セキュアコーディングの意味と、その効果について解説します。 はじめに 昨年、C/C++に関してセキュアコーディングの連載があったことを御存じの方もいるかもしれません。今回始まる「Javaセキュアコーディング入門」は、Javaのプログラミングにおいて、入力値検査、引数の安全な渡し方、例外処理、整数演算といったソフトウェアの脆弱性に直結する問題に対して、コーディング上の注意点や脆弱性を作り込まない作法を解説するものです。具体的には、演算処理、文字列処理、ファイル操作などトピックごとに、よりセキュアなコーディングスタイル
Androidアプリのテストに関する課題 Android端末の普及は世界規模で増加の一途をたどっています。2011年秋冬モデルが発表され、発売予定のものを含むと日本で発売中のAndroidの携帯端末は100機種に迫ろうとしています。読者の皆さんの周囲を見渡しても、電車や街角でAndroidを採用したスマートフォンなど携帯端末を使用する人をよく見かけるのではないでしょうか。 そして、スマートフォンに留まらずタブレットやミュージックプレイヤー、電子ブックリーダー、POSレジ、テレビなど、さまざまなデバイスがAndroidを搭載し始めています。Androidの採用が増えるにつれ、Androidアプリの種類が増えるので、アプリの開発案件も増えることになります。実際、本稿を読んでいる開発者の方の中にも、すでにAndroidアプリの開発に取り組んでいる方も多いのではないでしょうか。 筆者も普段の業務の
こんにちは。新卒入社で今年から働き始めました、横幕です。現在は、mixiのAndroid(TM)版公式クライアントアプリを開発しています。 Android開発を始めてから数か月になりますが、今回は、開発に携わる中で知ったことをご紹介したいと思います。 レイアウトの複雑さで発生するStackOverFlowError Androidでは、見た目(UI)のデザインやレイアウトをXMLで記述することができます。XMLを書くときには、UIのパーツ(ウィジェット:ボタンやチェックボックスなど)のほか、ウィジェットの配置を決めるためのコンテナ(LinearLayoutやFrameLayoutなど)を用います。そして、それらを入れ子にしながら画面を設計していきます。 たとえば、以下のような感じに。 * main.xml <?xml version="1.0" encoding="utf-8"?> <Li
サンプルコード、検証用コードをgithubにUPしました(発売3ヶ月後にして…) リポジトリはhttp://github.com/demuyan/AndroidNDKbookです。 このサンプルコードは、以下の方法で実行するとよいでしょう。 EclipseではImport->Existing Projects into Workspaceで取り込む Import後、Eclipseからndk-buildを実行できるように設定する(参考:EclipseからAndroid NDKのコードをビルドする : Happy my life) なお、コードの詳細を知りたい方は、Android NDKネイティブプログラミングをお買い上げください。 サンプルコードの詳細 章ごとに分けて登録されています。 ch02/ CalcVal/ JavaからCの関数を呼び出す CalcVal2/ JavaからCの関数を呼
Bluetoothでゴニョゴニョしようとしています。 とりあえずSDKのサンプルについてくる Bluetooth Chat をコンパイル、実行してみると、Androi端末間はうまくいった、というところまでは、随分前に来てました。 ひっかかったのが、パソコンとの通信。 スタックが問題なのか、開くCOMポートが違うのか、いろいろ考えても全く接続できない。 前にも見てた http://www.bright-sys.co.jp/blog/android-using-bluetooth-spp/ をもう一回見るけど分からん。 それで、とりあえず Bluetooth Chat をなんとなくステップ実行させていく。 … UUID て、何? BluetoothDevice#createRfcommSocketToServiceRecord(UUID) の引数の意味がなんとなく分からん。 で、先ほど紹介した
WEB+DB PRESS Vol.61の特集は、Titaniumでした。実際にアプリを作りながらのチュートリアルになっています。正統派な入門記事です。 でも。期待してた内容ではありませんでした。私は、Titaniumの暗黒面が知りたいのです。いつものWEB+DB PRESSなら、そんな記事が多いのですが、さすがにまだ開発者が少なそうなTitaniumではアッサリ目に仕上げるしかないのでしょう。そこで、このどうでもいいブログで、Titaniumのバッドノウハウ、いや、暗黒ノウハウをメモっておきます。 アプリを1本開発しただけですので、そこまでTitaniumのことを解っているわけではありません。間違っているところなどがありましたら、指摘してもらえるとありがたいです。暗黒ノウハウをみんなで共有しましょう。あと、スシなどをおごってもらえると、もっとありがたいです。 前提。 Titaniumのバー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く