我正在Eclipse,Win7x64中开发我的第一个Android应用程序,并且无法拉出SQLite文件来检查其中的内容.我看到这个问题使用DDMS GUI拉,这似乎有点已知:
[2011-03-01 20:15:51]无法拉出选择
[2011-03-01 20:15:51](null)
所以我尝试了adb命令行,当它看起来看到文件时,它不会在HD上找到.我已尝试在路径中使用前/后斜杠的多个语法,并且文件名周围没有显式路径.我得到"374 kb/s(6144 b)"或任何暗示成功拉动的东西,但文件不存在.
注意:这个问题不是关于Gamma94中描述的Singleton类(确保只有一个对象被实例化).
我阅读了关于@Singleton属性的Guice文档:
Classes annotated @Singleton and @SessionScoped must be threadsafe.
Run Code Online (Sandbox Code Playgroud)
即使我不打算从多个线程访问该对象,是这种情况吗?如果是这样,为什么?
我的情况是这样的.我有一个OrmLiteBaseActivity,其中有我的主菜单.当我按下按钮时,我进入"备份模式",我想从我的网站下载备份sqlite数据库.问题是,当我尝试上传文件时,我没有得到任何错误但数据库没有更新,直到我关闭并重新打开软件.我希望更新能够即时完成.
我试过我的OrmLiteBaseActivity是这样的:
case BACKUP_ID:
getHelper().close();
Intent i = new Intent(this, Backup.class);
this.startActivity(i);
return true;
Run Code Online (Sandbox Code Playgroud)
我去了备份活动,更新文件,然后我想回去但是我收到了这个错误:
11-15 19:27:45.359: ERROR/DatabaseHelper(229): Getting connectionSource called after closed
11-15 19:27:45.359: ERROR/DatabaseHelper(229): java.lang.IllegalStateException
11-15 19:27:45.359: ERROR/DatabaseHelper(229): at com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper.getConnectionSource(OrmLiteSqliteOpenHelper.java:78)
11-15 19:27:45.359: ERROR/DatabaseHelper(229): at com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper.getDao(OrmLiteSqliteOpenHelper.java:171)
11-15 19:27:45.359: ERROR/DatabaseHelper(229): at info.dierrelabs.h4m.ormliteinterface.DatabaseHelper.getPlayerDao(DatabaseHelper.java:159)
11-15 19:27:45.359: ERROR/DatabaseHelper(229): at info.dierrelabs.h4m.team.TeamList.onCreate(TeamList.java:20)
11-15 19:27:45.359: ERROR/DatabaseHelper(229): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-15 19:27:45.359: ERROR/DatabaseHelper(229): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
11-15 19:27:45.359: ERROR/DatabaseHelper(229): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
11-15 19:27:45.359: ERROR/DatabaseHelper(229): at android.app.ActivityThread.access$2200(ActivityThread.java:119)
11-15 19:27:45.359: ERROR/DatabaseHelper(229): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
11-15 19:27:45.359: ERROR/DatabaseHelper(229): at android.os.Handler.dispatchMessage(Handler.java:99)
11-15 19:27:45.359: ERROR/DatabaseHelper(229): …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个自定义列表适配器,其中包含需要从Internet下载的每个项目的图像.当我第一次进入活动时 - 应用程序冻结一段时间,直到下载图像,然后加载活动列表.
我可以看出,在活动加载之前正在下载图像.如何在活动加载后下载图像.我想我需要使用Async Task.但由于我在自定义阵列适配器中加载图像,因此不确定如何操作.
这是我的自定义适配器getView():
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi;
vi = LayoutInflater.from(getContext());
v = vi.inflate(R.layout.list_item_default, null);
}
Item p = items.get(position);
if (p != null) {
TextView list_title = (TextView) v.findViewById(R.id.list_title);
TextView list_description = (TextView) v
.findViewById(R.id.list_description);
TextView list_timestamp = (TextView) v
.findViewById(R.id.list_timestamp);
ImageView list_image = (ImageView) v.findViewById(R.id.list_image);
if (list_title != null) {
list_title.setText(p.getItemTitle());
}
if (list_description != null) {
list_description.setText(p.getItemDescription()); …Run Code Online (Sandbox Code Playgroud) 请帮助我理解原因add1()并add4()报告错误以及为什么add2()和add3()不报道错误.具体来说,如果编译器允许编译其中的每一个,请显示不良后果的示例.
class InnerTypeConfusion {
interface Animal {}
class Dog implements Animal {}
class Room<T> {
void add(T t) {}
}
void add1(Room<? extends Animal> room) {
// Error: The method add(capture#1-of ? extends Animal) in the type
// Room<capture#1-of ? extends Animal> is not applicable for the
// arguments (Dog)
room.add(new Dog());
}
void add2(Room<Animal> room) {
room.add(new Dog());
}
class Cage<T> {}
void add3(Room<Cage<? extends Animal>> room) {
room.add(new Cage<Dog>());
} …Run Code Online (Sandbox Code Playgroud) 其中(最好是在可在线浏览的源存储库中)是为PreferenceActivity?定义的布局?我想复制标题的不同样式等.
我看到android.preference.PreferenceActivity有一个引用com.android.internal.R.layout.preference_list_content,但是我没有在源代码中看到通过SDK下载的R目录 [android-sdk]\sources\android-15\com\android\internal.
我假设源树中的其他Android布局都在附近.
我正在尝试使用带有Rails的postgresql,所以我可以在部署到Heroku之前在本地运行.我从entrepreneedb.com安装了最新版本的postgresql(9.2.4).
当我尝试双击pgAdmin III中的数据库时,它会要求输入postgresql密码.用户设置中没有Windows postgresql帐户.我注意到在我随后卸载应用程序时,卸载程序引用了服务用户帐户"NetworkService".
如果我尝试运行命令行psql命令,它会要求输入密码,然后它会抱怨身份验证失败(我的Windows登录帐户名).我尝试输入我常用的Windows帐户密码,但这不起作用.
这里出了什么问题?我已经阅读了很多关于此数据库遇到密码/帐户问题的帖子.
总之,我想知道,是否有一个JVM命令行选项来更改起始工作目录?如果它很重要,我正在运行jdk1.6.0_24.
背景:
我正在使用一个名为Robolectric for Eclipse的工具来测试主机PC上的Android应用程序而不进行仿真.Robolectric需要创建一个测试项目,但测试本身要从正在测试的Android项目中运行.这是通过Eclipse完成的,将运行配置设置为测试中的项目:"在所选项目,包或源文件夹中运行所有测试".
我想如果可能的话,从JVM命令行选项做到这一点,因为其他的工具,我用,Infinitest,不允许你指定测试的工作目录.但是,它允许您指定JVM命令行选项.
解决方法:
在找到更好的解决方法之前,一个成功的方法就是从Android项目中复制AndroidManifest.xml和res文件夹.
我正试图淡出ImageView使用动画.动画运行,淡出ImageView,然后图像变回完全不透明.为什么会这样?
private void fadeOutImage() {
final ImageView imageView = (ImageView) activity.findViewById(R.id.imageView);
imageView.startAnimation(AnimationUtils.loadAnimation(activity, R.anim.fadeout));
}
Run Code Online (Sandbox Code Playgroud)
我尝试将alpha设置为零,如下所示,但随后图像从未出现过.为什么不?
private void fadeOutImage() {
final ImageView imageView = (ImageView) activity.findViewById(R.id.imageView);
imageView.setAlpha(0);
imageView.startAnimation(AnimationUtils.loadAnimation(activity, R.anim.fadeout));
}
Run Code Online (Sandbox Code Playgroud)
为了使这个工作,我必须创建一个AnimationListener,重载onAnimationEnd,并将alpha设置为零.为什么?
final ImageView imageView = (ImageView) activity.findViewById(id);
Animation animation = AnimationUtils.loadAnimation(activity, R.anim.fadeout);
animation.setAnimationListener(new AnimationListener() {
@Override public void onAnimationStart(Animation animation) {
imageView.setAlpha(255);
}
@Override public void onAnimationRepeat(Animation animation) { }
@Override public void onAnimationEnd(Animation animation) {
imageView.setAlpha(0);
}
});
imageView.startAnimation(animation);
Run Code Online (Sandbox Code Playgroud)
动画XML:
<alpha
android:duration="1500" …Run Code Online (Sandbox Code Playgroud) 我注意到,当我在我的图像中显示ImageView自动按比例缩小以适应窗口时,即使缩放的ImageView图像占用不到可见屏幕的1/4 ,它们也会在图像的上方和下方添加至少50%的填充.当显示适合而不调整大小的图像时,不会发生这种情况.
为什么会发生这种情况,我该怎么做才能解决这个问题?
如果它的事项,顶层布局是一个LinearLayout含有一个ScrollView,其中包括以下ImageView:
<ImageView
android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
Run Code Online (Sandbox Code Playgroud)
为什么会这样?
android ×7
java ×2
sqlite ×2
adb ×1
android-view ×1
collections ×1
covariance ×1
fadeout ×1
generics ×1
guice ×1
infinitest ×1
junit ×1
jvm ×1
ormlite ×1
padding ×1
postgresql ×1
pull ×1
robolectric ×1
scaling ×1
scope ×1
styles ×1
testing ×1
unit-testing ×1