問題タブ [package-info]
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 - "DONT_DELETE_DATA" 、その仕組み、アプリでの使用方法に関するいくつかの質問
バックグラウンド
私はアプリマネージャーアプリを開発していますが、アンインストール時にデータの削除を避けるように要求したアプリである「アンインストールされたアプリ」のリストを取得する方法があることに気付きました (「GET_UNINSTALLED_PACKAGES 」フラグを使用) .
ドキュメントの内容は次のとおりです。
データ ディレクトリを持つすべてのアプリケーション (アンインストールされたものも含む) に関する情報を取得するためのフラグ パラメータ。この状態は、アプリケーションがフラグ DONT_DELETE_DATA で削除され、将来置き換えられるか再インストールされる可能性がある場合に発生する可能性があります。
注: このフラグを使用すると、現在インストールされているアプリケーションについて返される情報が少なくなる場合があります。
問題
この機能についてさらに調査しようとしましたが、このドキュメント以外にはほとんど何も見つかりませんでした。
質問
- そのようなアプリはどのようにこの機能をリクエストしますか? 私が書いたものを除いて、ドキュメントのどこにも「DONT_DELETE_DATA」が見つかりません。このWebサイトを見ると、PackageManagerクラスの一部のようですが、Eclipseで公開されていることはわかりません。
- データはどのくらいの期間保持されますか?
- そのようなアプリを検出するにはどうすればよいですか? それを示すPackageInfoまたはApplicationInfoを見るものはありますか? おそらく ApplicationInfo の「FLAG_INSTALLED 」ですか?私はそれを実行しましたが、多くのアプリをインストールおよびアンインストールしたにもかかわらず、このフラグがオフになっているアプリのリストはありません。
- そのような「ゴースト」のようなアプリをアンインストールすることを選択すると、本当にそれらが削除されるのでしょうか?
- これらのアプリは、組み込みの app-manager で引き続き表示できますか?
- そのようなアプリを引き続き管理できますか?
- そのようなアプリからどのような情報を取得できますか (アイコン、名前など...)? ドキュメントには「このフラグは情報が少ない可能性があります」と書かれているので、これを尋ねます。
- ドキュメントによると、GET_UNINSTALLED_PACKAGES を使用すると、「現在インストールされているアプリケーション」に関する情報が少なくなる可能性があります。間違いですか?「現在アンインストールされているアプリケーション」ではありませんか?
- アプリがデータを削除しないというこのフラグを使用する場合、それは内部ストレージ、プライベート データのみ、または外部ストレージ、パブリック データのみを意味しますか?
java - JAXB 用の package-info.java の使用
package-info.java ファイルの構文が原因で、アプリケーションをビルドできません。以下のサンプルは単なるデモですが、パッケージとインポートの前にコードを配置しているため、どのサンプルを試しても構文エラーが発生します。以下の構文が実際に package-info.java に入ると想定されるものである場合、これをどのように機能させると思いますか?
更新:この質問をする別の方法は、注釈を一番下に置くべきではありませんか? 私のコンパイラ、IntelliJ、確かにそうです...
java - 別の Maven モジュールでは JAXB package-info.java 宣言が無視される
を使用して、いくつかの xml Java アダプターをpackage-info.java
指定するために使用します。モデル オブジェクト (JAXB アノテーション付き) は、他のモジュールによって共有される別の Maven モジュールに配置されます。モデル オブジェクトが別の Maven モジュールにある場合、構成は検出されません。テスト目的でモデルオブジェクトを同じmavenモジュールに移動すると、すべて問題ありません。別のmavenモジュールは、サードパーティのlibと同等と見なすことができると思います。JDK1.7 JAXB リファレンス実装を使用しています。構成がどのように異なるかについてのアイデアはありますか?@XmlAccessorType(XmlAccessType.NONE)
@XmlJavaTypeAdapters
package-info.java
JAXBContext
java - Java 8: パッケージレベルのアノテーションを階層的にスキャン
Java 8 で、パッケージ レベルの注釈 (つまり、package-info.java
ファイル内の注釈) を階層的にスキャンするにはどうすればよいですか?
たとえば、次のパッケージに存在するClass<x.y.z.C>
最初の型の注釈であるfor を順番に調べたいとします。A
x.y.z
x.y
x
(ルートパッケージ)
リフレクションを使用すると、 for を呼び出しD.class.getPackage()
て取得でき、そのパッケージの注釈を確認できます。Package
x.y.z
しかし、Package
forx.y
を取得する方法はありません(同等x.y.z
の方法はありません)。Package#getParent()
を使用してみPackage.getPackage("x.y")
ましたが、これは を返しますnull
。
そのメソッドが 以外のものを返すようになっていませんnull
。
Reflections、Guava、ByteBuddy、Fast Classpath Scanner などを調査しましたが、パッケージ レベルの注釈を階層的にスキャンする方法がまだ見つかりません。
android - PackageInfo versionName は INSTANT_RUN と表示されるようになりました
Android Studio 2.2 Preview 4 では、マニフェストに含まれているものではなく、PackageInfo の versionName が "INSTANT_RUN" に置き換えられているようです。マニフェストの versionName の内容を確認する他の方法はありますか? 私が使用しているコードは次のとおりです。
java - 既存のパッケージのpackage-info.javaをEclipseで一度に作成する方法はありますか?
を持たないレガシーパッケージがいくつかありますpackage-info.java
。何らかの理由で私package-info.javas
は彼らのために作成する必要があり、Eclipse にはそれを行うための近道がないため、その作業は本当に退屈であることがわかりました。New > File
ファイルを作成する手順を手動で使用してから、それらのパッケージ名を手動で入力する必要があります。
そのようなタスクのEclipseに近道はありますか?