我创建了一个通过Eclipse在我的Galaxy Nexus上工作正常的小部件,但是当我创建一个签名的apk时,从手机卸载调试版本,并安装新的apk并尝试将其放在主屏幕上我得到以下Toast消息:"未安装应用程序".
任何想法为什么会这样?
谢谢
我在Android应用程序中遇到了SQLite数据库的问题.它似乎经常发生,我无法重现它,但这是Android Market提供的报告.
基本上我首先有一个启动画面活动,首先检查所有需要的数据是否在数据库中.如果没有,它将在异步线程中安装数据并关闭数据库连接.
然后,只有这样才能启动主要活动,这也会打开并读取/写入数据库.
此代码从启动屏幕活动的onCreate方法执行:
dbWord = new WordDBAdapter(this, myUI);
dbWord.open();
if (dbWord.isDataInstalled()) {
dbWord.close();
databaseInstalled = true;
clickToStartView.setText(myUI.PRESS_TO_START);
clickToStartView.startAnimation(myBlinkAnim);
} else {
// If not, try to install in asynchronous thread
progressDialog = new ProgressDialog(this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
progressDialog.setMessage(myUI.INSTALLING_DB);
progressDialog.setCancelable(false);
new InstallDBData().execute("");
}
Run Code Online (Sandbox Code Playgroud)
异步线程的代码是:
private class InstallDBData extends AsyncTask<String, Integer, Integer> {
@Override
protected Integer doInBackground(String... arg0) {
progressDialog.setProgress(0);
dbWord.installData(0, getApplicationContext());
progressDialog.setProgress(20);
dbWord.installData(1, getApplicationContext());
progressDialog.setProgress(40);
dbWord.installData(2, getApplicationContext());
progressDialog.setProgress(60);
dbWord.installData(3, getApplicationContext());
progressDialog.setProgress(80);
dbWord.installData(4, getApplicationContext());
progressDialog.setProgress(100);
return 1;
}
protected void onPreExecute() { …
Run Code Online (Sandbox Code Playgroud) 我做了一个实现了一个的应用程序View.OnTouchListener
.但是当我将其上传到Android Market(Google Play商店)时,我收到以下消息:
此apk请求1个将用于Android Market过滤的功能:android.hardware.touchscreen
我真的不需要触摸屏本身.你也可以"点击"视图,这没关系.如果我使用OnClickListener
,而不是OnTouchListener
,这个要求会消失吗?
有多少百分比的Android设备没有触摸屏?应该从这个更新OnTouchListener
到OnClickListener
在新的潜在用户方面有所作为?
我一直在研究一个小部件并取得一些进展(我希望),但仍然无法让它做我想做的事情.
我有一个配置器活动,可以正常工作.当它关闭时,我调用WordWidget类中的updateAppWidget方法,小部件更新随机数.
由于onClick,我无法做到的随机数变化.根据日志我输入onReceive()方法,但那就是它.
在日志中我打印小部件ID.我注意到,当从配置器活动运行时,它打印appWidgetId = 33,但是当我按下小部件时,它会打印appWidgetId = 24.
这是代码:
public class WordWidget extends AppWidgetProvider
{
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
{
//This is run when a new widget is added or when the update period expires.
Log.v("wotd", "In onUpdate(), updating " + appWidgetIds.length + " widgets");
Log.v("wotd", " the array is " + appWidgetIds.toString());
for(int x = 0; x < appWidgetIds.length; x++)
{
Integer appWidgetId = appWidgetIds[x];
//Method that updates the random value
updateAppWidget(context, appWidgetManager, appWidgetId); …
Run Code Online (Sandbox Code Playgroud) 我有一个RelativeLayout,中间有一个TextView.我已经使用SimpleOnGestureListener()来检测onFling,onDown和onScroll事件.
我希望TextView能够在屏幕上跟随我的手指(可以只是在x轴上),当我抬起手指时,它会从屏幕上移动或者回到中间(取决于我有多远)感动它).
我使用 NextJS 创建了一个完全静态的网站,export
对其进行了编辑,然后使用静态网站托管将其托管在 S3 上。我可以单击周围并成功查看所有页面,包括example.com/blog
. 但是,如果在浏览器中单击刷新,或example.com/blog
直接输入,则会收到 404 Not Found 错误。
查看导出的文件时,我看到 /blog/ 没有 index.html 文件,尽管应该有(在我看来),因为在原始源文件中我有一个/blog/index.ts
文件,并且在开发模式下我可以刷新localhost/blog
或输入它直接并且按预期工作。
总之,我相信 NextJS 应该创建一个/blog/index.html
文件,但它没有。有什么办法可以强制这样做吗?难道我做错了什么?谢谢你!
我正在尝试使用CakePHP 2.0获得一个简单的登录表单...只是Auth,现在没有ACL.
我能够看到表单并输入电子邮件和密码,因为它们在数据库中,但我只是返回到表单并显示flash错误消息.这是我的代码:
AppController的:
class AppController extends Controller
{
function beforeFilter()
{
$this->Auth->userModel = 'Users';
$this->Auth->fields = array('username' => 'email', 'password' => 'password'); //have to put both, even if we're just changing one
$this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
$this->Auth->loginRedirect = array('controller' => 'hotels', 'action' => 'dashboard');
$this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login');
}
}
Run Code Online (Sandbox Code Playgroud)
login.ctp:
<?php
echo $this->Form->create('User', array('action' => 'login'));
echo $this->Form->input('email');
echo $this->Form->input('password');
echo $this->Form->end('Login');
?>
Run Code Online (Sandbox Code Playgroud)
UsersController:
class UsersController extends AppController
{
var …
Run Code Online (Sandbox Code Playgroud) 我有一个简单的React Native应用程序,我已经在Android上进行测试,现在想在iOS上进行测试。它使用了React Navigation。
我跑了,npm run ios
但出现以下错误:
info In file included from
/Users/rbbit/reactnative/testproj1/ios/testproj1/main.m:10:
/Users/rbbit/reactnative/testproj1/ios/testproj1/AppDelegate.h:9:9: fatal error: 'UMReactNativeAdapter/UMModuleRegistryAdapter.h' file not found
#import <UMReactNativeAdapter/UMModuleRegistryAdapter.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
info 1 error generated.
Run Code Online (Sandbox Code Playgroud)
我打开了XCode,但是基本上得到了相同的消息,没有别的可以帮助我调试的消息。
我确实看到有一个名为react-native-adapter的软件包(https://github.com/expo/expo/tree/master/packages/%40unimodules/react-native-adapter),但是我很犹豫安装此程序是因为我遵循了有关如何包含react-navigation的说明,并且假设相关,则没有提及。
另外,该页面显示If you are using react-native-unimodules, this package will already be installed and configured!
,并且react-native-unimodules
已经在我的依赖项中。
关于如何解决这个问题的任何指示?谢谢!
我有一个非常简单的应用程序,有1个表,每行包含一个单词,它的定义和一个例子.
定义和示例字段是varchars(5000).
在每个页面上,我都有一个显示单词列表的侧边栏.在一定数量的单词后,我开始收到以下错误:
Error: Allowed memory size of 33554432 bytes exhausted
Run Code Online (Sandbox Code Playgroud)
控制器中的代码,用于设置Element中使用的变量:
$this->set('allWords', $this->Word->find('all', array('order' => array('Word.text ASC'))));
Run Code Online (Sandbox Code Playgroud)
我怀疑find方法读入所有行数据,包括定义和示例,此时我真的不需要,这会导致错误.
有没有办法只读取id和单词,而不是每行的定义和示例值?
更新
在我的元素内部,我遍历$ allWords数组,打印出每个单词以及一个链接:
echo '<h3>Words ('.count($allWords).')</h3>';
echo $this->Html->link('Add new', array('controller' => 'words', 'action' => 'add'));
echo '<br/><br/>';
foreach($allWords as $thisWord)
{
echo $this->Html->link($thisWord['Word']['text'], array('controller' => 'words', 'action' => 'edit', $thisWord['Word']['id']));
if( ($thisWord['Word']['example'] == '') || ($thisWord['Word']['definition'] == '') )
{
echo ' ' . $this->Html->image('warning.png');
}
echo '<br \>';
}
Run Code Online (Sandbox Code Playgroud)
看来如果我注释掉foreach循环的内部部分,我就不会得到内存错误.
这种情况下的SQL输出是:
SELECT `Word`.`id` FROM `idioms`.`words` AS `Word` WHERE 1 = …
Run Code Online (Sandbox Code Playgroud) 我正在尝试检测TextView对象的onFling事件.下面的代码适用于onDown事件,但它无法获取onScroll或onFling事件.有什么指针吗?
谢谢
package rob.testapp;
import android.app.Activity;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.MotionEvent;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends Activity
{
private GestureDetector myGestDetector;
private TextView mainTextView;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myGestDetector = new GestureDetector(this, new SimpleOnGestureListener()
{
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY)
{
mainTextView.setText("just scroll'n");
return false;
}
@Override
public boolean onDown(MotionEvent e1)
{
mainTextView.setText("on down");
return false;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, …
Run Code Online (Sandbox Code Playgroud)