問題タブ [android-library]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - LIBRARY を使用してエクスポートされたアプリケーションで proguard.cfg が機能しない
proguard.cfg
すべての Log.x() LogCat 出力をスケルチすることを目的とした次のセクションと同じものを使用して、同じアプリケーションの 2 つのバージョンがあります。
最初のバージョンはモノリシック (つまり、ライブラリ プロジェクトをまったく参照していない) でproguard.cfg
あり、期待どおりに動作します。
2 番目のバージョンでは、2 つのライブラリ プロジェクトを使用しています (1 つは私のもので、もう 1 つは Google の LVL です)。同じproguard.cfg
ものがアプリケーション プロジェクトと私のライブラリ プロジェクトの両方に配置されます。ただし、その 2 番目のバージョンでは、proguard.cfg
まったく効果がないようです。
これを説明できるものは何ですか?
android - アクティビティ ベースのアプリケーションにアクティビティがないことはありますか?
ライブラリ プロジェクトで定義された共有アクティビティ クラスがあり、それを使用するどのアプリケーションでも変更されず、したがってサブクラス化する必要がないと仮定すると、このアクティビティをサブクラス化せずにアプリケーションを作成する方法を得ることができますか?
私の質問をよりよく説明するために、ライブラリ プロジェクトに 1 つのアクティビティがあるとします。
そして今、そのライブラリ プロジェクトを使用してアプリケーションを作成しています。本当に作成する必要がありますか
アプリケーションが独自のアクティビティを独自に参照できるようにするためだけAndroidManifest.xml
ですか?
ライブラリのアクティビティ コアの動作を変更する必要がある場合にのみ、アクティビティをサブクラス化する、最小限のアプローチを採用できますか?
android - 複数のクライアント プロジェクト (Eclipse) で複数の Android ライブラリ プロジェクトの異なるリビジョンを使用する
まず第一に、Google ドキュメントからのライブラリ プロジェクトに関する私の知識のほとんどと、この記事の Android ビルド システムの詳細な説明があります。
設定
私の Eclipse ワークスペースには、Android ライブラリをインポートするクライアント プロジェクトがいくつかあります。各クライアントは異なるライブラリ セットをインポートし、一部のライブラリは相互にインポートします。
各クライアントには独自の Subversion リポジトリがあり、すべてのライブラリは 1 つの Subversion リポジトリにあります。
すべてがうまくビルドおよび実行されます。
問題
- クライアント プロジェクトとライブラリは同期して進化していません。一部のクライアント プロジェクトでは、古いリビジョンのライブラリが必要です。Eclipse で多くのプロジェクトを作成する必要があります。一部のライブラリ プロジェクトは、ライブラリ リポジトリの異なるリビジョンから複数回作成する必要があります。
- 単一のライブラリ プロジェクトでは、クライアントが実際にそれらのいずれも使用しない場合でも、そのすべてのリソースがクライアント プロジェクトに配置されるため、多くのライブラリが必要です。私はここにいますか?
- 同じライブラリの異なるリビジョンをワークスペースにチェックアウトします。Eclipse では、複数のライブラリ プロジェクトをインポートすることはできません。これは、Eclipse プロジェクトが .project ファイルで同じ名前を持っているためです (Eclipse は、2 つ目のプロジェクトをインポートしようとすると不平を言います)。
- エクリプス??
編集
Jarek Potiukの答えが機能します。しかし、それはポイント 3 で説明した問題を解決するだけです。Eclipse で各ライブラリ プロジェクトを個別に作成する必要があります。
インポートされたライブラリ プロジェクトごとに Eclipse でプロジェクトを作成する必要がないソリューションはありますか? 誰かがantで実用的な解決策を持っていますか?
android - サービスがAndroidManifest.xmlで宣言されているかどうかをプログラムで確認するにはどうすればよいですか?
私は、他の開発者がプロジェクトに含めることで使用するサービスを提供するライブラリを作成しています。そのため、AndroidManifest.xmlを制御することはできません。ドキュメントで何をすべきかを説明しますが、それでも一般的な問題は、マニフェストに適切な<service />タグを追加しなかったり、間違った場所に追加したりすることを怠ることです。
現在、マニフェストでサービスが宣言されていないときにライブラリがstartServiceを呼び出すと、ActivityManagerが警告をログに記録するだけです。これが発生したときに例外をスローして、開発者がそれを修正する方法を理解できるようにしたいと思います。マニフェストが実際にこのサービスを宣言しているかどうかをどのように検出できますか?
android - Android ライブラリ プロジェクト内のクラスをオーバーライドする方法は?
以下は私の状況です:
ライブラリプロジェクトとそれに基づくプロジェクトがあります。現在、ライブラリには2つのクラスAとBがあり、AはBを使用しています。ライブラリを使用するプロジェクトには、ライブラリからクラスBをオーバーライドする必要がある別のクラスBがあります。
しかし、クラス A が呼び出しを行うたびに、ライブラリからクラス B に行き着きます。プロジェクトのクラス B をライブラリのクラス B の代わりに使用する必要があることを Android に伝えるにはどうすればよいですか?
android - Android アニメーション ライブラリ?
アプリケーションで使用できる無料の Android アニメーション ライブラリはありますか?
Android の組み込みアニメーションは非常に基本的なものです。もっと派手なものが欲しい。
android - 別のパッケージ名でAndroidライブラリプロジェクトリソースをエクスポートしますか?
ここでAndroidツールにバグが発生しているかどうか、またはこれが仕様によるものかどうかはわかりません。問題はこれです:ウィジェットをエクスポートするAndroidライブラリプロジェクトがあります。そのウィジェットの一部として、スタイル可能な属性がR.styleableにエクスポートされます。
ライブラリプロジェクト(パッケージ= com.example.mylib):
アプリプロジェクト(パッケージ= com.example.myapp):
問題は、someAttr
ライブラリとアプリケーションが同じパッケージ識別子を使用している場合は常に、属性がAndroid/ADTにのみ表示されるように見えることです。この場合、そうではなく、ADTは次のエラーで失敗します。
パッケージ'com.example.mylib'の属性'someAttr'のリソース識別子が見つかりません
私が言ったように、アプリのパッケージ名を「com.example.mylib」に変更することでこれを修正できますが、もちろんこれは私が望むものではありません!私は何かが足りないのですか?
android - Android ライブラリ: 非同期 http リクエストを内部で処理しますか?
さまざまなサービスに http リクエストを送信する Android ライブラリを作成しています。現在、AsyncTask で http 要求が発生し、アプリが提供するデリゲートにコールバックして、onPostExecute メソッドで結果を取得しています。したがって、基本的に、開発者は AsyncTask の作成を気にせずに目的のメソッドを呼び出します。
ただし、これらの呼び出しを非同期で行うべきか、ライブラリを完全に同期したままにして、開発者に責任を負わせてアプリの AsyncTasks にメソッド呼び出しを配置する必要があるのか 疑問に思い始めています。このようなことについてのベストプラクティスはありますか?
android - Androidアプリケーションから実行時にライブラリを動的にロードすることは可能ですか?
実行時にJavaライブラリをダウンロードして使用するAndroidアプリケーションを作成する方法はありますか?
次に例を示します。
アプリケーションが入力値に応じていくつかの計算を行う必要があると想像してください。アプリケーションはこれらの入力値を要求し、必要なClasse
sまたはMethod
sが使用可能かどうかを確認します。
そうでない場合は、サーバーに接続し、必要なライブラリをダウンロードして実行時にロードし、リフレクション手法を使用して必要なメソッドを呼び出します。ライブラリをダウンロードしているユーザーなど、さまざまな基準に応じて実装が変更される可能性があります。