小编Dur*_*rga的帖子

如何在android中刷新地图上的标记?

我想markers在地图中刷新,我的地图包含当前位置的不同位置.如果服务器端添加任何位置,则在我的地图中添加该标记.

如何在没有加载图的情况下刷新标记?

我的代码

if(arl.size()!=0){
                for(int j = 0;j<arl.size();j++){


              String lat =arl.get(j).get("lat").toString();
              String lng =arl.get(j).get("lng").toString();
              if ( !lat.trim().equals("") && !lng.trim().equals("") ) {
              double Hlat = Double.parseDouble(lat.trim());
              double Hlong= Double.parseDouble(lng.trim());

              LatLng dabaseLocations =new LatLng(Hlat, Hlong);

              Marker HYD = _googleMap.addMarker(new MarkerOptions()

              .position(dabaseLocations)
              .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE))
              .flat(true));

              // Show current location with database locations

              _googleMap.clear();
                _googleMap.moveCamera(CameraUpdateFactory.newLatLng(myPosition)); 
                Marker m=_googleMap.addMarker(new   
         MarkerOptions().position(myPosition).title("start"));
               // m.setPosition(new LatLng(5,5));

                 }
               }

         }
             else{

                 // Show only Current Location

            _googleMap.moveCamera(CameraUpdateFactory.newLatLng(myPosition)); 
            _googleMap.addMarker(new     
       MarkerOptions().position(myPosition).title("start"));

        }
Run Code Online (Sandbox Code Playgroud)

android google-maps-markers google-maps-android-api-2

11
推荐指数
1
解决办法
1万
查看次数

如何在android中完成服务类的活动?

我正在开发一个应用程序,我想从后台服务器获取数据.我在后台使用service获取数据.现在我想处理网络异常,如果没有网络我想显示一个警告对话框并完成应用程序.这里我有问题,即服务类中的整理活动显示异常ClassCastExcetption..Exception在这里提出(((Activity)mContext).finish())我尝试了这么多,但我无法得到这个请任何人解决我的问题

public class InitialRequestService extends Service{

    @Override
    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return null;
    }
    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        super.onCreate();   
        new InitialRequestData(InitialRequestService.this).execute();
    }   

    public class InitialRequestData extends AsyncTask<String, Void, Void> {

        public InitialRequestData(Context context) {
            this.mContext = context;
        }

        @Override
        protected void onPreExecute() {
            // TODO Auto-generated method stub
            super.onPreExecute();
            isNetworkAvailable = CheckNetWork.isConnectedToInternet(mContext);
        }

        @Override
        protected Void doInBackground(String... params) {  
           //
        }

        @Override
        protected void onPostExecute(FeatureResult result) {
            // …
Run Code Online (Sandbox Code Playgroud)

android

9
推荐指数
1
解决办法
1万
查看次数

ToggleButton上的示例

我正在使用切换按钮开发应用程序,我输入了1或0 EditText.单击按钮时,如果我输入1切换按钮显示TOGGLE ON,则切换按钮必须更改,如果我输入0则切换按钮必须显示TOGGLE OFF.单击按钮时,我无法获得切换值.

我的代码是:

public class MainActivity extends Activity {

  String editString="";

  Button btn;
  EditText ed;
  ToggleButton toggle;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    btn = (Button)findViewById(R.id.btn);
    ed  = (EditText)findViewById(R.id.ed);
    toggle = (ToggleButton)findViewById(R.id.toggBtn);

    editString = ed.getText().toString();

    btn.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {
        // TODO Auto-generated method stub
        toggle.toggle();
        if(editString.equals("1")){

          toggle.setTextOff("TOGGLE ON");

        }
        else if(editString.equals("0")){

          toggle.setTextOn("TOGGLE OFF");

        }
      }
    });
  }
}
Run Code Online (Sandbox Code Playgroud)

xml文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin" …
Run Code Online (Sandbox Code Playgroud)

android togglebutton

6
推荐指数
3
解决办法
9万
查看次数

如何点击推送通知打开新活动?

我正在开发一个Android应用程序,我需要在其中接收多个通知,每个通知都包含唯一数据.

我已经完成的事情1.使用gcm服务接收多个通知2.显示服务器在单击新活动中的通知时发送的数据

问题:假设我收到了三个通知,每个通知都有唯一的数据.当我单击一个通知时,新活动将以该通知中的数据开始.所以现在接收通知活动正在运行.现在,如果我点击第二个通知接收通知活动加载旧数据(来自第一个通知的那个).如果我关闭应用程序并单击第三个通知,则接收通知活动将加载来自第三个通知的数据.

我试过了:

  1. 将intent标志设置为FLAG_ACTIVITY_CLEAR_TOP(不工作)
  2. 编辑清单文件以包含android:launchMode ="singleInstance"但没有任何成功

我在用

resultIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
Run Code Online (Sandbox Code Playgroud)

在intentservice和添加 android:launchMode="singleInstance"清单文件中都不起作用.

intentservice类

public class GcmIntentService extends IntentService{

Context context;
public static int notify_no=0;

//System.currentTimeMillis();

private NotificationManager mNotificationManager;
NotificationCompat.Builder builder;
public static final String TAG = "GCM NOTIFICATION";

public GcmIntentService() {
    super("GcmIntentService");
    // TODO Auto-generated constructor stub
}

@Override
protected void onHandleIntent(Intent intent) {
    // TODO Auto-generated method stub
    Bundle extras = intent.getExtras();
    String msg = intent.getStringExtra("message");
    GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);
    String messageType = gcm.getMessageType(intent);


     if (!extras.isEmpty()) { …
Run Code Online (Sandbox Code Playgroud)

android push-notification

6
推荐指数
1
解决办法
6429
查看次数

如何在android中的Map上显示当前位置标记?

我正在开发一个应用程序,我想在我的地图中使用标记显示当前位置.我正在使用Google Map v2.在这里我可以在GPS关闭时显示地图和标记,但在GPS打开时在地图上看不到任何标记.我的要求是在地图上显示当前位置的标记

我试过这样的,

@Override
public void onLocationChanged(Location location) {
    // TODO Auto-generated method stub

    //locationManger.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0,        
               this);

    ArrayList<HashMap<String, String>> arl = (ArrayList<HashMap<String, String>>) 
            getIntent().getSerializableExtra("arrayList");


    if(location!=null){
        double latitude = location.getLatitude();
        double langitude = location.getLongitude();


        myPosition = new LatLng(latitude, langitude);
        CameraPosition position= new  CameraPosition.Builder().
              target(myPosition).zoom(17).bearing(19).tilt(30).build();
        //_googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(position));

        _googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(position)); 
        _googleMap.addMarker(new   
                  MarkerOptions().position(myPosition).title("start"));
    }
Run Code Online (Sandbox Code Playgroud)

android google-maps google-maps-markers

6
推荐指数
1
解决办法
4万
查看次数

单击android中的标记时如何更改标记颜色?

我正在开发一个应用程序,因为我用红色显示当前位置,用 HUE_AZURE 颜色显示周围位置,现在我试图HUE_GREEN在单击标记时用(绿色)更改两种颜色,我写了一些代码,但它不能正常工作。当我单击标记时,地图会转到起始位置并仅更改一次颜色,这是我的问题。

我的代码

  @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_show_map_when_login);

    _googleMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(
            R.id.mapId)).getMap(); 

    LocationManager service = (LocationManager)getSystemService(LOCATION_SERVICE);

    boolean enableGPS = service.isProviderEnabled(LocationManager.GPS_PROVIDER);
    boolean enableWiFi= service.isProviderEnabled(LocationManager.NETWORK_PROVIDER);

    Log.e("GPS",""+enableGPS);


    service = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    Criteria criteria = new Criteria();
    String provider = service.getBestProvider(criteria, true);


    service.requestLocationUpdates(provider, 0, 0, this);


    if(_googleMap==null){
        Toast.makeText(getApplicationContext(), "Google Map Not Available", 
           Toast.LENGTH_LONG).show();
        }





}
@Override
public void onLocationChanged(Location location) {
    // TODO Auto-generated method stub

    //locationManger.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0,   
              this);
    //_googleMap.clear();
    ArrayList<HashMap<String, String>> arl = (ArrayList<HashMap<String, String>>) …
Run Code Online (Sandbox Code Playgroud)

android google-maps

5
推荐指数
1
解决办法
4407
查看次数

如何从Activity向AsyncTask发送数据?

我正在开发一个应用程序,我必须将数据发送到服务器.我得到异常,同时获取用户详细信息nullpointer异常请告诉我我在哪里犯了错误

myActivity代码

userDetails = new DetailsDTO();

userName = userNameEdit.getText().toString().trim();
password = passwordEdit.getText().toString().trim();
confirmPwd = confirmPasswordEdit.getText().toString();
mobileNo = mobileNoEdit.getText().toString();

userDetails.setUserName(userName);
userDetails.setPassword(password);
userDetails.setConfirmPwd(confirmPwd);
userDetails.setMobileNumber(mobileNo);

(new UserDetailsAsync(mContext)).execute();
Run Code Online (Sandbox Code Playgroud)

我的AsyncTask代码:

    @Override
        protected Void doInBackground(Void... params) {
            // TODO Auto-generated method stub
            httpClient  = new DefaultHttpClient();
            httpPost = new HttpPost(TrafficConstants.USER_REG_URL);


            Log.e("userName", details.getUserName());
            Log.e("pass", details.getPassword());
            Log.e("MOb",details.getMobileNumber());

            try{
            arrayList = new ArrayList<NameValuePair>(3);
            arrayList.add(new 
                    BasicNameValuePair("usr",details.getUserName()));
            arrayList.add(new 
                   BasicNameValuePair("pass",details.getPassword()));
            arrayList.add(new 
                   BasicNameValuePair("mob",details.getMobileNumber()));
            httpPost.setEntity(new UrlEncodedFormEntity(arrayList));
            HttpResponse response = httpClient.execute(httpPost);
            }
            catch(Exception e){
                e.printStackTrace();
            }
            return null;
        }   
Run Code Online (Sandbox Code Playgroud)

LogCat错误

 02-20 12:16:37.535: E/AndroidRuntime(2605): java.lang.RuntimeException: An …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask

2
推荐指数
1
解决办法
4080
查看次数

使用SQLite更新密码

我正在使用SQLite开发一个应用程序.我的要求是我想更新表格中的密码.

我写了一个更新查询,但它无法正常工作.错误:

android.database.sqlite.SQLiteException: unrecognized token: "' WHERE username = ?": , 
while compiling: UPDATE TABLE_USER SET password = god' WHERE username = ?` condition.   
Run Code Online (Sandbox Code Playgroud)

代码:

UserDaoImpl.java

public void  updateEntry(String newPassword,String name)
 {
    Cursor cur= myDB.rawQuery("UPDATE "+UserDBHandler.USER_TABLE+" SET    
 "+UserDBHandler.PASSWORD+" = "+newPassword+"' WHERE "+ 
                   UserDBHandler.USER_NAME+" = ?",new String[]{name});  
 }       

  ChangePasswordActivity.java


public class ChngePasswordActivity extends Activity {

  private EditText oldPwdEdit;
  private EditText newPwdEdit;
  private EditText cnfrmEdit;

  private Button submitBtn;

  private String oldPwd;
  private String newPwd;
  private String cnfrmPwd;

  private UserDaoImpl userDetalsIml;

  @Override
  protected …
Run Code Online (Sandbox Code Playgroud)

android android-sqlite

0
推荐指数
1
解决办法
2463
查看次数