我有一个只有一个注释的地图.我创建了一个简单的类,我希望它在用户点击注释时显示.问题是当我点击注释时没有任何反应.
这是我的代码:
- (void)reverseGeocoder:(MKReverseGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark{
NSLog(@"Reverse Geocoder completed");
mPlacemark=placemark;
[mapView addAnnotation:placemark];
}
- (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>) annotation{
MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"currentloc"];
annView.animatesDrop=TRUE;
//create UIButton for annotation
UIButton *detailButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
//NSInteger annotationValue = [self.annotations indexOfObject:annotation];
[detailButton addTarget:self action:@selector(showDetailView:) forControlEvents:UIControlEventTouchUpInside];
annView.rightCalloutAccessoryView=detailButton;
return annView;
}
-(void)showDetailView:(id)sender{
NSLog("inside the stupid method");
MyDetailViewController *detailView=[[MyDetailViewController alloc] initWithNibName:@"MyDetailViewController" bundle:nil];
[[self navigationController] pushViewController:detailView animated:YES];
[detailView release];
}
Run Code Online (Sandbox Code Playgroud)
我的showDetailView功能永远不会被调用.请帮助我.我是iphone的新手,我可能会忘记一件简单的事情.谢谢
还是行不通!!!!
我已导入ASIHTTP files我的项目,里面 ASIWebPageRequest.m有以下导入:
#import <libxml/HTMLparser.h>
Run Code Online (Sandbox Code Playgroud)
这是不被承认的.我应该添加哪些库才能被识别?
我有一个应用程序,它将一些数据存储在SQLite DB中.另外我在我的应用程序中进行了大量查询和重新查询.我在其中有大约15个活动.并且所有人都使用数据库来查询数据.但我正在做的是在每个活动中打开我的数据库并在每个活动的onDestroy {...}中关闭它.
问题是onDestroy {...}可能永远不会被调用,有时候我的应用程序会保持很长时间,并且我会从一个活动切换到另一个开放多次我的数据库.
有时我会得到像数据库这样的错误太多次打开而且从未关闭过.
在我从中获取数据并关闭它后,我会尝试完全关闭我的数据库...转到我的下一个活动并重新打开等等.....但问题是在某些活动中我从其他活动......关闭我的数据库并回到那个活动会产生一个强大的力量关闭.
我想做的是在我的应用程序开始时打开我的数据库并在结束时关闭它,但我面临两个问题:
1.我应该让我的SQLiteOpenHelper类成为一个单独的吗?...得到它的一个实例...在我的第一个活动中打开它然后在我的下面的活动中获取我已经打开的数据库的实例/ ???
2.我的应用程序结束了????我应该怎么知道应用程序的结束位置以及关闭数据库的位置.
编辑:
public class DBAdapter extends SQLiteOpenHelper {
public DBAdapter(Context context) {
super(context, DATABASE_NAME, null, 1);
this.myContext = context;
}
public void openDataBase() throws SQLException {
String myPath = DATABASE_PATH + DATABASE_NAME;
db = SQLiteDatabase.openDatabase(myPath, null,
SQLiteDatabase.OPEN_READWRITE);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我班上管理我的DB的一段代码.为了使这个单例,我应该使用一个构造函数:
private DBAdapter()
{
//nothing in here
}
Run Code Online (Sandbox Code Playgroud)
但这对于SQLiteOpenHelper来说是未定义的
EDIT FINAL:这是我按照zirael建议做的:
包com.Server_1;
import android.app.Application;
公共类MyApplication扩展Application {
private static DBAdapter db;
public void onCreate()
{
db=new DBAdapter(getApplicationContext());
db.createDatabase();
db.openDataBase();
}
public static …Run Code Online (Sandbox Code Playgroud) 我有一个Android应用程序,我正在使用Android相机拍照.这张照片是在拍摄activity A后拍摄的activity B.
这是我收到我的图像的方式activity B:
Bundle extras = getIntent().getExtras();
BitmapFactory.Options options=new BitmapFactory.Options();
options.inSampleSize = 5;
byte[] imageData = extras.getByteArray("imageData");
Bitmap myImage = BitmapFactory.decodeByteArray(imageData , 0, imageData.length,options);
Matrix mat=new Matrix();
mat.postRotate(90);
bitmapResult = Bitmap.createBitmap(myImage, 0, 0, myImage.getWidth(), myImage.getHeight(), mat, true);
ImageView imageView = (ImageView) findViewById(R.id.myPic);
imageView.setImageBitmap(bitmapResult);
Run Code Online (Sandbox Code Playgroud)
正如你所看到的那样,bitmap我用90 旋转我收到的:
Matrix mat=new Matrix();
mat.postRotate(90);
Run Code Online (Sandbox Code Playgroud)
这是我imageView的xml文件:
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_gravity="center"
android:id="@+id/myPic"
/>
Run Code Online (Sandbox Code Playgroud)
我面临的问题是我的照片不是全屏......它是完整的screnn而不是整齐的.你可以在这里看到:

如果你可以帮助我增加一点它的大小,我会真的很赞成它.谢谢
编辑:我只想增加我的图像的宽度.谢!
我有一个Android应用程序,我正在使用Android相机拍照.然后在一点点后,我设法让我的照片在我想要的地方和我想要的.最后的问题是图像的质量.
当我的预览开始时,一切都看起来非常清晰和伟大,但在拍摄照片并显示最终结果后,图像看起来并不好看.
以下是我的surfaceChanged()方法的样子 - 我在哪里设置一些参数:
public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
Log.e(TAG, "surfaceChanged");
if (mPreviewRunning) {
mCamera.stopPreview();
}
Camera.Parameters p = mCamera.getParameters();
List<Size> sizes = p.getSupportedPictureSizes();
System.out.println("Lista de parametrii este urmatoarea:"+sizes);
Size size = sizes.get(7);
p.setPictureSize(size.width,size.height);
mCamera.setParameters(p);
try {
mCamera.setPreviewDisplay(holder);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mCamera.startPreview();
mPreviewRunning = true;
}
Run Code Online (Sandbox Code Playgroud)
Coudl有人告诉我提高照片质量的方法是什么.谢谢!
编辑:
在activity A拍摄照片的地方,我使用一个束将图像发送到activity B我将其存储在另一个图像上.我SDCARD就是这样做的:
Activity A:
Camera.PictureCallback mPictureCallback …Run Code Online (Sandbox Code Playgroud) s=new Scanner(new BufferedReader(new InputStreamReader(this.clientSocket.getInputStream())));
while(s.hasNext()){
System.out.println("Am intrat in bucla s:");
longitude=Integer.parseInt(s.next());
System.out.println("Valoare longitudine:"+longitude);
latitude=Integer.parseInt(s.next());
System.out.println(latitude);
Run Code Online (Sandbox Code Playgroud)
我正在使用上面的行从客户端 - 服务器连接读取一些数据;这是服务器端.数据在扫描仪中读取,之后我尝试显示它,但是当我查看logcat时我什么都没有显示但是这个例外:
04-18 00:07:56.138:INFO/global(295):BufferedReader构造函数中使用的默认缓冲区大小.如果需要8k-char缓冲区,最好是明确的.
我的客户端和服务器都在android上!有谁知道我做错了什么?
这是我如何读取数据,我发送纬度和经度,我假设是空格分隔,奇怪的是有时候工作:
Cursor c=db.getAllData();
if(c.moveToFirst())
{
do{
longitude=Integer.parseInt(c.getString(1));
out.println(longitude);
latitude=Integer.parseInt(c.getString(2));
out.println(latitude);
}while(c.moveToNext());
}
Run Code Online (Sandbox Code Playgroud) 我有slideTimer一个NSInteger,我想将其转换为NSTimeInterval.
我试过这样的:
NSTimeInterval slider = (NSTimeInterval)slideTimer;
Run Code Online (Sandbox Code Playgroud)
但它不起作用.任何想法?
在我的应用程序的某些时候,我已经完成了这个exit(0)崩溃我的应用程序.但我还没弄清楚在执行时调用哪种方法.
我把消息放入:
(void)applicationWillTerminate:(UIApplication *)application
(void)applicationDidEnterBackground:(UIApplication *)application
Run Code Online (Sandbox Code Playgroud)
但这一切似乎都没有被召唤!什么方法在exit(0)完成时被调用?
我有两个活动,NewTransferMyOwn.java和FromAccount.java
当我从NewTransferMyOwn.java转到FromAccount.java时,我会编写如下代码
Intent i = new Intent(NewTransferMyOwn.this, FromAccount.class);
startActivityForResult(i, FROM_ACCOUNT);
Run Code Online (Sandbox Code Playgroud)
当我从FromAccount.java回到NewTransferMyOwn.java时,我想传递一个完整的类Statement对象
我写代码为
Statement st = ItemArray.get(arg2);//ItemArray is ArrayList<Statement>, arg2 is int
Intent intent = new Intent(FromAccount.this,NewTransferMyOwn.class).putExtra("myCustomerObj",st);
Run Code Online (Sandbox Code Playgroud)
我在putExtra上得到如下错误,
改为'getIntExtra'
就像我一样,再次将st转换为int,这里有什么问题,如何将Statement对象传递回acitivity?
我正在开发一个Android应用程序,允许用户使用Android摄像头拍摄一些照片.用户拍摄这些照片参加摄影比赛.所以,他拍了几张照片,这些照片应保存到特定的目的地,过了一会儿,他在这些照片之间循环,决定哪一个他将参加摄影比赛.那么,照片应该保存在不在画廊中的特定文件夹中以及其他不适合比赛的照片中.目前,我只是将照片保存到SD卡,我不知道如何将它们保存在某个文件夹中.
我必须说我已经建立了自己的相机但仍然不知道如何保存图像.
这是它的样子:
public class EditPhoto extends Activity implements SurfaceHolder.Callback, OnClickListener {
static final int FOTO_MODE = 0;
private static final String TAG = "CameraTest";
Camera mCamera;
boolean mPreviewRunning = false;
private Context mContext = this;
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
//doing things
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
}
Camera.PictureCallback mPictureCallback = new Camera.PictureCallback(){
public void onPictureTaken(byte[] imageData, Camera c) {
if (imageData != null) {
Intent mIntent = new Intent();
StoreByteImage(mContext, imageData, 50, "ImageName");
mCamera.startPreview(); …Run Code Online (Sandbox Code Playgroud)