2

私の問題を解決する方法や何か他のものはありますか?

これが私の状況の簡単な例です (これは実際のものではなく、似たようなものです)。私は活動をしています:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/lib/com.google.ads"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000"
tools:context=".MainActivity" >

<com.loopj.android.image.SmartImageView
    android:id="@+id/image_switcher"
    android:layout_width="500dp"
    android:layout_height="match_parent"
    android:layout_alignParentTop="true" />

そのアクティビティには、android:layout_width="500dp" があります。ここでの値 500 は、データベースから取得し、アクティビティで使用する必要があります。

アクティビティからデータベースを呼び出すにはどうすればよいですか? 有効なものであるため、どのソリューションも受け入れられます:)

私は何かを念頭に置いています: onCreate アクティビティでデータベースを呼び出し、必要な属性に値を設定する方法です。

私はアンドロイドにかなり慣れていないので、とても楽しいですが、尋ねる人がいません。

ありがとう

4

1 に答える 1

1

最初に、databaseAdapter クラスを作成する必要があります。これは、すべてのデータベース接続作業を行うための単一のヘルパー クラスになります。この場合、SQL SELECT FROM .... を使用して値 500 を取得します (SQL を知っていると仮定します)。

ここにいくつかの良い参照があります

http://android-er.blogspot.ie/2011/06/simple-example-using-androids-sqlite.html http://www.youtube.com/watch?v=j-IV87qQ00M

次に、SmartImageView の属性を設定する必要があります。まず、コードでその属性への参照を取得します。

SmartImageView myImage = (SmartImageView) this.findViewById(R.id.image_switcher);

次に、それを参照して属性を設定できます (loopJ smartImageView に適切な属性がある場合)。線形レイアウトに配置されていない場合は、それへの参照を取得し、そのレイアウト幅を設定します (デバイスのピクセル密度を考慮して)

float displayMetricsDensity = basecontext.getResources().getDisplayMetrics().density;
        int height = (int)(pixelsValue * displayMetricsDensity);//use your own pixelsValus

LinearLayout myLL = this.findViewById(R.id.image_switcher_LinearLayout);
LayoutParams LP = new LayoutParams(height, LayoutParams.MATCH_PARENT);

myLL.setLayoutParams(LP);

Android の学習を楽しみましょう... Android フレームワークと API を備えた Java であることを思い出してください。

于 2013-06-12T16:12:08.487 に答える