经过几天了解Android的工作原理,我决定构建我的第一个应用程序:一个简单的应用程序,它使用一个简单的EditText
小部件从用户提供的地址显示GMap .
我习惯Geocoder
这样做.
在使用logcat进行一些小错误跟踪之后,这是adb返回的异常:
E/LocationMasfClient( 53): forwardGeocode(): RPC failed with status 1
W/System.err( 262): java.io.IOException: RPC failed with status 1
W/System.err( 262): at android.location.Geocoder.getFromLocationName(Geocoder.java:166)
W/System.err( 262): at fr.meetopia.tinymap.MapViewActivity.testGeoCoder(MapViewActivity.java:104)
W/System.err( 262): at fr.meetopia.tinymap.MapViewActivity.onCreate(MapViewActivity.java:38)
W/System.err( 262): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
W/System.err( 262): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
W/System.err( 262): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
W/System.err( 262): at android.app.ActivityThread.access$2200(ActivityThread.java:119)
W/System.err( 262): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
Run Code Online (Sandbox Code Playgroud)
现在这里是堆栈跟踪指向的代码:
Geocoder geoCoder = new Geocoder(this);
MapView mapView = (MapView) findViewById(R.id.mapview);
MapController mc = mapView.getController();
GeoPoint p;
try {
List<Address> addresses = geoCoder.getFromLocationName("paris france", …
Run Code Online (Sandbox Code Playgroud) 我想将一张桌子的所有数据(带有一定的id ofcourse)复制到同一张桌子中,但略有不同.
我有这个表(product_quantity):
id----groupId----productId----quantity
1 ----- 2 ------------2--------------5
Run Code Online (Sandbox Code Playgroud)
我想要做的是复制所有groupId = 2的数据,将其插入表中groupId = 3
所以我发现我可以做一个选择插入
insert into product_quantity (groupId, productId, quantity) SELECT groupId, productId, quantity FROM prouct_quantity WHERE groupId=2
Run Code Online (Sandbox Code Playgroud)
但这只会产生重复.
是否可以使用此insert-select,还可以只使用一个查询插入groupId = 3?
提前致谢!
许多菜单总是有一个项目相同.
有没有办法将该项目定义为额外菜单并将其包含在所有其他菜单中?
像这样的东西:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menu_main"
android:title="@string/text_mainmenu" />
</menu>
Run Code Online (Sandbox Code Playgroud)
<menu xmlns:android="http://schemas.android.com/apk/res/android"
parent="@menu/main">
<item android:id="@+id/menu_other"
android:title="@string/text_othermenu" />
</menu>
Run Code Online (Sandbox Code Playgroud)
我知道,有可能以programmaticaly方式进行,但我认为xml-way更好.
我更新了我的宝石.我已经创建了一个示例Rails应用程序并在我的Gemfile中有以下内容:
source 'http://rubygems.org'
gem 'rails', '3.0.3'
gem 'sqlite3-ruby', :require => 'sqlite3'
group :development do
gem 'rspec-rails'
end
group :test do
gem 'rspec'
gem 'webrat', '0.7.1'
end
Run Code Online (Sandbox Code Playgroud)
但是,当我运行'rspec spec /'时,我收到以下消息:
/home/jeff/.rvm/gems/ruby-1.9.2-p0/gems/bundler-1.0.7/lib/bundler/runtime.rb:27:in `block in setup':
You have already activated rspec-core 2.2.1, but your Gemfile requires rspec-core 2.1.0.
Consider using bundle exec. (Gem::LoadError)
Run Code Online (Sandbox Code Playgroud) 我有一个表需要用另一个表更新.我可以使用Select命令插入在另一个表中找到的数据吗?如果是这样,怎么样?
我使用MySQL
我有这个架构:帖子belongs_to类别和类别has_many帖子.使用gem globalize3将帖子和类别全球化
class Post < ActiveRecord::Base
belongs_to :category
translates :title, :excerpt, :desc # globalize3
end
class Category < ActiveRecord::Base
has_many :posts
translates :name # globalize3
end
Run Code Online (Sandbox Code Playgroud)
在我的PostsController中,我获得了这行代码的所有帖子:
def index
@posts = Post.includes([:translations, {:category => :translations}])
end
Run Code Online (Sandbox Code Playgroud)
问题是我对类别转换表有n + 1个查询问题:
Post Load (0.3ms) SELECT "posts".* FROM "posts"
Post::Translation Load (0.3ms) SELECT "post_translations".* FROM "post_translations" WHERE ("post_translations".post_id IN (2,3,4))
# START n+1 query block
Category Load (1.9ms) SELECT "categories".* FROM "categories" WHERE ("categories"."id" IN (9,12,11))
Category::Translation Load (0.4ms) SELECT "category_translations".* FROM "category_translations" …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用此方法生成素数列表.我需要遍历每个数字2 ... n并检查它是2 ... n的倍数.出于某种原因,错误的列表似乎正在被修改.
import sys
import argparse
import math
parser = argparse.ArgumentParser(description='find the largest prime factor of a number')
parser.add_argument('n', type=int, help='number')
args = parser.parse_args()
sieve = []
for i in range(2,args.n+1): sieve.append(i) # tried int(i)
copy1 = sieve # tried making extra copies. . .
copy2 = sieve
copy3 = sieve
#print int(math.sqrt(args.n))
for index, i in enumerate(copy1):
#print index, i
for ii in copy2:
#print ii
if i % ii == 0:
sieve[index]= None …
Run Code Online (Sandbox Code Playgroud) 我正在尝试实现一个接受字符串列表的Web服务,每个字符串都是一个正则表达式.这些需要与数据库的六列进行比较,并且需要返回任何匹配的行.
我相信Oracle有一个我可以使用的regexp_like()函数,但是我正在寻找使用Hibernate 的最佳方法,所以我不反对持久性引擎.
我从这样开始,其中参与者集合包含正则表达式:
List<Message> messages = new ArrayList<Message>();
List<Message> m1 = ((Session) entityManager.getDelegate())
.createCriteria(MessageSSR.class).add(Restrictions.or(
Restrictions.in("Node2Id", participants),
Restrictions.in("Node2Id", participants))).list();
List<Message> m2 = ((Session) entityManager.getDelegate())
.createCriteria(MessageSSR.class).add(Restrictions.or(
Restrictions.in("Node3Id", participants),
Restrictions.in("Node4Id", participants))).list();
List<Message> m3 = ((Session) entityManager.getDelegate())
.createCriteria(MessageSSR.class).add(Restrictions.or(
Restrictions.in("Node5Id", participants),
Restrictions.in("Node6Id", participants))).list();
messages.addAll(m1);
messages.addAll(m2);
messages.addAll(m3);
Run Code Online (Sandbox Code Playgroud)
这不起作用,因为"in"不会做我想要的,这似乎不告诉Hibernate使用正则表达式匹配.
这是我提出的唯一答案,但看起来很难看:
List<Message> messages = new ArrayList<Message>();
for (String re : participants) {
List<Message> m1 = ((Session) entityManager.getDelegate())
.createCriteria(MessageSSR.class)
.add(Restrictions.or(
Restrictions.sqlRestriction("regexp_like(NODE_1, " + re + ")"),
Restrictions.sqlRestriction("regexp_like(NODE_2, " + re + ")")
)).list();
List<Message> m2 = …
Run Code Online (Sandbox Code Playgroud) 在我们正在构建的应用程序中,我们想要使用UILocalNotifications,它们仅在4.0中提供.
检查对象是否响应选择器非常简单,但是如何根据操作系统在类上定义委托方法呢?我得到的问题是我的app delegate实现了
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
Run Code Online (Sandbox Code Playgroud)
方法,使应用程序在iOS 3.2设备(ipad)上启动时崩溃.
不必释放多个构建将是优选的.
android ×2
insert ×2
mysql ×2
activerecord ×1
database ×1
globalize2 ×1
hibernate ×1
include ×1
ios ×1
iphone ×1
java ×1
javascript ×1
list ×1
menu ×1
menuitem ×1
nested-loops ×1
objective-c ×1
oracle ×1
primes ×1
python ×1
regex ×1
rspec ×1
rubygems ×1
seam ×1
section508 ×1
select ×1
sql ×1
version ×1
wai-aria ×1