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 活动中调用数据库,它们以某种方式设置我需要的属性的值。

我是 android 的新手,很有趣,但我没有人要问。

谢谢

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...记住它真正的 Java,上面有一个 Android 框架和 API。

于 2013-06-12T16:12:08.487 回答