問題タブ [parcel]

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.

0 投票する
2 に答える
4242 参照

android - あるアクティビティから別のアクティビティへの Parcel 実装クラスを取得できません

Weekly ResultParcel インターフェイスを実装するというクラスがあります。パーセル オブジェクトを別のアクティビティに渡すときに、そのオブジェクトを取得する際に問題が発生しています。

これは私のweeklyResultクラスです:

これは私のMultilinqualクラスです:

そして、ここに私が目的のオブジェクトを送信している場所があります:

パーセル オブジェクトを受信しようとしているアクティビティ クラスは次のとおりです。

オブジェクトをキャストバックしようとしましたが、それでもエラーが発生します。Logcat エラーでこのエラーが表示されましたが、weeklyresult のクリエーター クラスを既に実装しています。

LogCat エラー:

致命的な例外: main
java.lang.RuntimeException: Unable to start activity

ComponentInfo{com.example.laysapp/com.example.laysapp.AdminPage.Topic_of_the_week}:
android.os.BadParcelableException: Parcelable プロトコルには、クラス com.example.laysapp.ParsingLogic.WeeklyTopicResult
E/AndroidRuntime( 1231):
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
で android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
で android.app.ActivityThread.access$600(ActivityThread.java:141)
でandroid.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
で android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137) で android.app.ActivityThread.main(ActivityThread.java:5039) で java.lang.reflect.Method.invokeNative(Native Method) で java.lang.reflect で.Method.invoke(Method.java:511) で com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793) で com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560) ) dalvik.system.NativeStart.main(Native Method) で 原因: android.os.BadParcelableException: Parcelable プロトコルには、android.os.Parcel のクラス com.example.laysapp.ParsingLogic.WeeklyTopicResult で CREATOR と呼ばれる Parcelable.Creator オブジェクトが必要です。 readParcelable(Parcel.java:2086) で android.os.Parcel.readValue(Parcel.java:1965) で android.os.Parcel.readMapInternal(Parcel.java:2226) で android.os.Bundle.unparcel(Bundle.java:223) で android.os.Bundle.getParcelable(Bundle.java:1165) で com.example.laysapp.AdminPage.Topic_of_the_week.onCreate( Topic_of_the_week.java:40 ) android.app.Activity.performCreate(Activity.java:5104) で android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080) で android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) ... 11もっとcallActivityOnCreate(Instrumentation.java:1080) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) ... 11 詳細callActivityOnCreate(Instrumentation.java:1080) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144) ... 11 詳細

ここで何が間違っていますか?

0 投票する
1 に答える
3364 参照

android - リストを読み書きする方法小包に?

を実装するクラスがありますParcelable。オブジェクトの を にList読み書きする最良の方法は何ですか?DateParcel

Dateこれは、単一のオブジェクトに対して行う方法です。

しかし、それを行う方法はList<Date>

書き込みを行うハムフィストの方法は、次のように、すべてのDateオブジェクトをループして a を構築することだと思います。long[]

そして読むために、あなたはすることができます:

でも、もっといいものがあると思っていたのに…

0 投票する
1 に答える
514 参照

android - Parcelableの変数は、Parcelの後は常に値0.0になります。

パーセル可能なオブジェクトをパーセルして戻したい場合、変数の値はすべて0.0です。なぜアイデアはありますか?

これが私の区画クラスです:

これが私がパーセルを作成する方法であり、パーセル可能に戻る方法です。

ありがとうございました

0 投票する
2 に答える
9921 参照

java - パーセルでwriteStringArray()とreadStringArray()を使用する方法

Parcel私は最近、Androidクラス内で非常に愚かな(少なくとも私の観点からは)実装に出くわしました。

このような単純なクラスがあるとします

Fooここで、オブジェクトをパーセルしたいbarsがnullの場合、この状況から回復する方法がわかりません(もちろん例外をキャッチすることを除いて)。Parcelからのこれら2つのメソッドの実装は次のとおりです。

したがって、nullを渡す場合はwriteStringArrayで問題ありませんbars-1区画に書き込むだけです。しかし、メソッドreadStringArrayはどのように使用されることになっていますか?内部を通過barsすると(もちろんnullです)、からNullPointerExceptionが発生しval.lengthます。bars私が前に作成した場合、たとえばbars = new String[???]、それがどれほど大きくあるべきかについての手がかりは得られません。サイズが内部に書き込まれたものと一致しない場合、RuntimeExceptionを受け取ります。

なぜreadStringArray、その結果が-1nullオブジェクトに書き込まれ、writeStringArray返されるだけなのかわからないのですか?

私が見る唯一の方法は、bars呼び出す前にサイズを保存することwriteStringArray(String[])です。これにより、このメソッドは役に立たなくなります。また、配列のサイズを2回冗長に保存します(1回目は覚えておいて、2回目はからwriteStringArray)。

上にjava-docがないため、これら2つのメソッドがどのように使用されるかを知っている人はいますか?

0 投票する
1 に答える
1729 参照

sql - 建物の重心を含む区画を示す空間 SQL クエリ

特定の建築基準法 (bldg_code = 3)の重心を含む区画を選択するクエリを作成しようとしています。

区画はテーブル "city.zoning" にリストされ、各区画の PIN、ジオメトリ、および面積の列が含まれています。テーブル「建物」には、建物の種類とそれに対応するコードを示す bldg_type と bldg_code の列が含まれています。このクエリで対象となる建物タイプの bldg_code は 3 です。

これまでのところ、対象の建物タイプと相互作用する区画を表示するクエリを作成しました。

何か案は?

0 投票する
1 に答える
1240 参照

java - Parcelable での配列または Stringarray の書き込み/読み取り

アプリの 2 つのアクティビティ間でオブジェクトを渡すために、クラスに Parcable を実装すると、すべて正常に動作します。ここで、このクラスを文字列配列の配列 (String[][]) で拡張したいと考えています。

writeToParcel(Parcel dest, int flags)しばらくインターネットを検索しましたが、 Constructor でこれを処理する方法が見つかりませんでしたMyClass(Parcel in)

もう 1 つのオプションは、stringA と stringB の 2 つの文字列だけを持つクラスを作成し、そのクラスにも Parcable を実装させることです。次に、 readList() と writeList() を使用してその Parcables のリストを書き込むことができますが、これは理想的な解決策ではないようです。

助言がありますか?

0 投票する
1 に答える
238 参照

java - parcelable の配列リストを渡す

アクティビティ間で 2 つのオブジェクトを含むパーセル可能な配列を渡したい

しかし、別のアクティビティで配列リストを読み込もうとすると

次のエラーが発生しました:03-27 16:26:46.842: E/AndroidRuntime(12495): java.lang.ClassCastException: java.lang.Boolean cannot be cast to com.dev.pojo.Languageリストの2番目のオブジェクトを読み取ろうとすると(最初のオブジェクトが表示されます)

オブジェクトにブール値がないため、ブール値について話している理由がわかりません

どうもありがとうございました

0 投票する
3 に答える
5559 参照

android - Parcelable データの保存

Parcelable を実装するクラスがあり、変更できない基本的な Android クラスがいくつか含まれているため、Serializable を実装できませんでした。

このクラスのオブジェクトには、たとえば Location や PendingIntent などがあります (これらはすべて便利に Parcelable です)。

私の問題は、メインのアクティビティのインスタンス間でこの情報を保存することです。

現在、このクラスへの静的参照を保持していますが、これはうまく機能します。しかし、アプリを再インストールすると、おそらく更新が行われるときに、この静的メンバーが再初期化されないことを信頼できないと思います。

この Parcelable をファイルに書き込もうとしましたが、 marshall() を使用しても常に機能するとは限りません (Binder can't be marshalled エラーが発生します)。

この情報を安全に保存するにはどうすればよいですか?

ありがとう

0 投票する
2 に答える
7875 参照

google-maps-api-3 - マップに表示する区画または郵便番号の境界を取得する方法は?

指定した土地区画に境界線を追加して、地図上で色付きの輪郭/境界線で目立つようにしたいと考えています。Google マップでは、土地区画を囲むために入力する座標のパスがわかっている場合、これはポリゴン機能を使用して行われます。ただし、ポリゴン パス情報はありませんが、場所のジオコード座標と区画の査定者の区画番号 (APN) の両方があります。

無料の国勢調査局のデータといくつかのオープン ソース ソフトウェアを組み合わせて郵便番号のポリゴンを取得する方法について少し説明しているこの別の SO 投稿を見つけましたが、かなり複雑です (データをダウンロードしてホストする必要があるため)。パーセルの境界まで正確に処理できるかどうかはわかりません。小包をサポートしている場合は間違いなくオプションですが、無料ではありますが非常に時間がかかるようです.

ParcelStreamという有料のソリューション (価格は表示されていません) も見つけましたが、それは高価で、おそらく他の SO 投稿で上記のソリューションを使用しているだけだと思います。これは、1 回限りの少額の料金であればオプションでもありますが、高額な場合やサブスクリプション料金がかかる場合はそうではありません。

地図上にオーバーレイを手動で作成し、保存して共有できることは承知していますが、自動化されたプログラムによるソリューションを探しています。

更新:わかりました。Digital Map Productsの ParcelStreamはオプションではなく、月額約 10,000 です。彼らは、サブスクリプション サービスは (ローカルではなく) 全国的なカバレッジを対象としており、Google はクライアントの 1 つであるとアドバイスしました。

更新 #2:上記の米国国勢調査局のデータ ソリューションを (他のオープン ソース ソフトウェアと組み合わせて) 使用しても、 TIGERweb2010サイトで利用可能な機能を参照した後、区画の境界データが提供されないようです。