Articles of android

应用程序执行一次后,将新表添加到数据库

我正在Android中创建一个简单的数据库。 我想在代码执行一次后添加新表。 现在,每当我尝试在EventDataSqlHelper类中更改我的onCreate()方法时,我的应用程序崩溃了。 这可能是因为与SQLiteOpenHelper关联的onCreate()仅在首次运行app时执行,我们无法对其进行进一步修改。 我还尝试编写一个单独的函数来添加新表。 它在第一次执行时完美地工作。但是因为在第二次执行时它将覆盖其先前的数据库,因此它会导致应用程序崩溃。 如果已经创建了数据库,有没有办法将新表添加到数据库? package org.example.sqldemo; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.provider.BaseColumns; import android.util.Log; /** Helper to the database, manages versions and creation */ public class EventDataSQLHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = “events.db”; private static final int DATABASE_VERSION = 1; // Table name public static final […]

如何为`MvxLinearLayout`绑定到’ItemClick`?

我有一个ScrollView ,最初包含两个MvxListView控件。 Android不支持在ScrollView中使用ListView控件,这是有道理的,因为它们都试图填充父高度并提供自己的滚动逻辑。 我想要的是两个不可滚动的列表,它们在我的ScrollView的全高。 MvxListView扩展的ListView不支持此操作而不会手动破解高度。 我想要这个的原因是因为我有两个单独的列表,我必须将它们分开来源,它们都有自己的标题。 我需要在一个ScrollView可以滚动所有这些。 然后我find了MvxLinearLayout ,它是一个可绑定的LinearLayout ,它有一个我可以绑定的ItemSource属性。 它工作得很好,它显示我的项目并获得所有项目的全部高度,因此我可以滚动我的ScrollView两个列表。 问题是它似乎没有ItemClick属性,所以我没有办法从我的列表中获取用户输入。 有没有人知道以可绑定的方式做到这一点的干净方式? 我不想在后面的代码中附加onItemClick处理程序。 还有另一个MvvmCross控件可以做我想要的吗?

错误:我可以在导航抽屉下单击

我的应用程序中有一个错误,我不知道如何解决它。 我的应用程序有两个左右导航抽屉。 右侧导航抽屉工作正常,但当左侧导航抽屉打开并在其中单击时,它会检测到我在主布局中单击。 为了更好地理解,我给你看这张图: 我希望我解释得很好。 这是我的代码: 布局。 Java代码: private void setSlides(Bundle savedInstanceState) { mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerViewRight = (View) findViewById(R.id.right_drawer); mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); mDrawerList = (ListView) findViewById(R.id.list_slidermenu); mFilterList = (ListView) findViewById(R.id.list_filter); mRightDrawerList = (ListView) findViewById(R.id.right_drawer_list); mOrdenarList = (ListView) findViewById(R.id.list_ordenar); mDistanceList = (ListView) findViewById(R.id.list_distance); // LEFT SLIDING navDrawerItems = new ArrayList(); // Items navDrawerItems.add(new MoNavMenu(“DIIN”, R.drawable.slide_img_home)); navDrawerItems.add(new […]

更改自定义视图中的边距

在我的开源库FloatingActioButton中,我需要以编程方式更改用户指定的视图边距。 边距必须减少阴影大小(因此边距设置为按钮本身而不是阴影)。 我重写自定义视图类的onLayout并使用以下代码: @Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { super.onLayout(changed, left, top, right, bottom); if (!hasLollipopApi() && !mMarginsSet) { if (getLayoutParams() instanceof ViewGroup.MarginLayoutParams) { ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams) getLayoutParams(); int leftMargin = lp.leftMargin – mShadowSize; int topMargin = lp.topMargin – mShadowSize; int rightMargin = lp.rightMargin – mShadowSize; […]

ImageView上的透明视图

我被封锁了。 我正试图在背景上放置透明视图。 我尝试了几种方法。 通过XML来: android:background=”@color/transparent” 要么 android:color=”#80000000″ 或者像这样引用color.xml文件 #80000000 我的layout.xml就像这样 android:background=”@color/transp” 我也尝试过生成的代码 myView.getBackground().setAlpha(45); 要么 myViewm.setBackgroundResource(R.color.trans); 我看过一些相关的post,但没有一个答案奏效。 除此之外,更奇怪的是所有这些解决方案似乎都在Eclipse的GraphicalLayout中得到了很好的解决。 但是当我启动我的设备时,屏幕仍然不透明。我在该视图上画了一条线以确保发生了某些事情; 这条线确实显示出来。 这是我的layout.xml 和我的代码 private ImageView bg; MyView tV; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); tV = new MyView(this); setContentView(tV); } 和myView onDraw @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); this.setBackgroundResource(R.color.transp); canvas.drawLine(10,20,30,40, paint); } 那么,我哪里错了? […]

为Google Play和亚马逊商店开发Android应用程序

我是Android应用程序开发的新手。 经过大量的努力,我为Amazon App Store开发了一个Android应用程序。 我的应用包括应用内购买function。 然而,该应用程序因为在三星Galaxy S2上无法使用而被亚马逊app store拒绝。 我可以做什么,以便我的应用程序在亚马逊和谷歌Playstore的应用内购买的所有设备上运行? 为此目的是否有任何预先建立的图书馆? 任何建议都会有所帮助。

Cordova请安装Android目标19

我正在使用Cordova-3.3.0,当我尝试为Android创建项目时,我收到以下错误 – 错误:请安装Android目标19(Android最新SDK)。 我安装了最新的Android以及Android 18和17.即使我使用Cordova-3.2.0,我也得到了相同的结果 未findAndroid目标18 。 请问任何人都可以提出可能存在的问题吗? 我使用以下随cordova – ant版本1.9.2 java 1.7.0_45

在Android中滑出时删除类似通知的列表元素

我想知道如何让ListView的元素在幻灯片上slide ,就像你可以从Android的通知栏slide通知一样。 这是我的情况: 我有一个项目列表,当用户想要从该列表中删除项目时,她只需将元素滑向屏幕边缘。 我希望这个幻灯片是可见的,例如使用某种types的animation,滑动给定View持有该项目。 以下是一些图片来说明这一点。 首先,这是通知的正常状态。 然后,这是在滑出期间 谢谢。

Android 4.0应用可以与Android 2.0和Android 3.0设备配合使用吗?

我计划为用户创建一个应用程序,以查看我目前正在制作的游戏统计数据,但我的问题就像标题一样。 我不确定Android 3.0,Android 2.0或更低版本的手机是否可以使用该应用? 如果没有,我将如何解决这个问题? 我是否无法使用NFC等新的APIfunction? 总而言之,如果我开始使用Android 4.0 SDK进行开发,所有Android手机都可以使用我的应用吗?

方法参数必须是实现某个接口的某个类的obj

如何声明一个带参数的方法,该方法必须是同一个实现某个接口的某个类,而不为此声明一个特殊的类? 假设我已经声明了类ImageX并且还声明了接口Tagging。 所以我需要创建一些其他类或方法,它们只需要接收实现Tagging接口的ImageX实例。 如何申报这种方法? 就像是 private void someMethod (ImageX obj){} 但这当然不正确。 是的我可以检查obj是否实现了所需的接口,但我想要检查参数。 如果它不是某种方法而是构造函数会怎么样? 我可能会询问仿制药吗?