有没有办法可以解决我的问题?
这是我的情况的一个简单例子(这不是真实的,它是类似的东西)。 我有一项活动:
<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中很新,这很有趣,但我没有人问。
由于
答案 0 :(得分: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在顶部。