首页 > 其他分享 >模仿Android location provider

模仿Android location provider

时间:2023-06-20 22:05:40浏览次数:38  
标签:String LocationManager mocLocationProvider locationManager provider Android data

public void onCreate(Bundle savedInstanceState) {

 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);

 ((TextView) this.findViewById(R.id.textView)).setText("Something else");

 // LocationManager locationManager = (LocationManager)
 // getSystemService(Context.LOCATION_SERVICE);
 // locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
 // 0, 0, this);

 LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);

 String mocLocationProvider = LocationManager.GPS_PROVIDER;
 locationManager.addTestProvider(mocLocationProvider, false, false,
 false, false, true, true, true, 0, 5);
 locationManager.setTestProviderEnabled(mocLocationProvider, true);
 locationManager.requestLocationUpdates(mocLocationProvider, 0, 0, this);

 try {

 List data = new ArrayList();
 InputStream is = getAssets().open("data.txt");
 BufferedReader reader = new BufferedReader(new InputStreamReader(is));
 String line = null;
 while ((line = reader.readLine()) != null) {

 data.add(line);
 }
 Log.e(LOG_TAG, data.size() + " lines");

 new MockLocationProvider(locationManager, mocLocationProvider, data).start();

 } catch (IOException e) {

 e.printStackTrace();
 }
 } 
public class MockLocationProvider extends Thread {

    private List data;

    private LocationManager locationManager;

    private String mocLocationProvider;

    private String LOG_TAG = "faren";

    public MockLocationProvider(LocationManager locationManager,
            String mocLocationProvider, List data) throws IOException {

        this.locationManager = locationManager;
        this.mocLocationProvider = mocLocationProvider;
        this.data = data;
    }

    @Override
    public void run() {

        for (String str : data) {

            try {

                Thread.sleep(1000);

            } catch (InterruptedException e) {

                e.printStackTrace();
            }

            // Set one position
            String[] parts = str.split(",");
            Double latitude = Double.valueOf(parts[0]);
            Double longitude = Double.valueOf(parts[1]);
            Double altitude = Double.valueOf(parts[2]);
            Location location = new Location(mocLocationProvider);
            location.setLatitude(latitude);
            location.setLongitude(longitude);
            location.setAltitude(altitude);

            Log.e(LOG_TAG, location.toString());

            // set the time in the location. If the time on this location
            // matches the time on the one in the previous set call, it will be
            // ignored
            location.setTime(System.currentTimeMillis());

            locationManager.setTestProviderLocation(mocLocationProvider,
                    location);
        }
    }
以上就是 Android location provider mock 从文本调用数据

标签:String,LocationManager,mocLocationProvider,locationManager,provider,Android,data
From: https://blog.51cto.com/u_16166892/6525371

相关文章

  • 基于Android的健身APP设计与实现
    当今社会的生活节奏越来越快,随着硬件移动设备的越来越先进,人们对移动设备的要求也越来越高,从以前的追求技术到现在的追求视觉,因此,也逐步的提高了对系统的要求,本文主要针对Android系统上的运动APP应用程序设计和实现进行讨论。Android是一个开源的系统,它底层是基于Linux的操作系统,本......
  • 基于Android的万豪酒店APP
    20世纪90年代以来,随着网络、通信和信息技术的突破性进展,Internet在全球爆炸性增长并迅速普及。在这种时代背景下一些传统的行业,也发生了变化,本次设计研究的就是酒店行业在移动应用软件中是发展趋势。互联网行业在全球发展迅猛,世界各国纷纷看好互联网酒店这块新大陆,普遍认为互联网下......
  • 基于Android聊天取证APP设计与实现
    本文通过对市场上的大多数用户量比较大的手机APP是使用的调查,并对调查结果做出需求分析后,确定了基于安卓客户端社交应用聊天APP的取证功能设计方案。实现了在手机端可以对用户的聊天数据进行提取保存,以备在手机应用清楚聊天数据后,需要聊天数据取证的问题。本设计的框架为Android......
  • 基于Android共享单车设计与实现
    “计算机工业革命”正在以一种猛烈的势头在席卷着全球。近年来,尤其是移动平台和无线网络的发展,更是可谓是日新月异,诞生了大量的手机APP(Application)。手机APP的出现极大地方便了我们的日常生活,也丰富了我们的娱乐生活。伴随着手机APP功能需求的不断完善,近两年随着共享概念的推广,作为......
  • 基于Android的线上读书会设计
    本文通过对市场上的大多数用户量比较大的手机APP是使用的调查,并对调查结果做出需求分析后,确定了基于安卓客户端的线上读书活动的功能设计方案。实现了在手机端可以查看读书活动,同时管理端可以在后台发布相关的读书活动的一些信息。本设计的框架为Android系统,客户端界面由其相关组......
  • 一位死磕大厂的Android开发面试总结
    本人19年毕业于一家普通二本,考研凉了且没有实习经验,每天就是不断地投简历、刷面经,感觉自己都要抑郁了最后勉强进入了一家学校合作的外包公司干了3年,刚开始每个月拿着4-6000地薪水还要被迫接受996,虽然后面涨到了10k+,但仍感觉未来没有希望。我决定做出改变,离开这里!刚开始准备地时候其......
  • 监测Android Market是否被下过
    try{PackageManagermanager=context.getPackageManager();PackageInfoappInfo=manager.getPackageInfo(YOUR_PACKAGE_NAME,PackageManager.GET_SIGNATURES);//Nowtestifthefirstsignatureequalsyourdebugkey.......
  • AppWidgetProvider的继承
    publicclassWlanWidgetextendsAppWidgetProvider{RemoteViewsremoteViews;AppWidgetManagerappWidgetManager;ComponentNamethisWidget;WifiManagerwifiManager;publicvoidonUpdate(Contextcontext,AppWidgetManagerappWidgetManager,in......
  • android studio 各个版本区别
    在使用AndroidStudio时,建议使用最新的动物命名版本,以获取最新的功能和修复的错误。官网描述动物命名是重要版本(间接理解为稳定版本) 2022年9月 Dolphin(海豚)2022年5月 Chipmunk(花栗鼠)AndroidStudioFlamingo | 2022.2.1 (火烈鸟)2022年1月 Bumblebee(大......
  • Android基于KeyStore对数据进行加解密
    问题背景在我们App开发过程中,可能会涉及到一些敏感和安全数据需要加密的情况,比如登录token的存储。我们往往会使用一些加密算法将这些敏感数据加密之后再保存起来,需要取出来的时候再进行解密。此时就会有一个问题:用于加解密的Key该如何存储?为了保证安全性,Android提供了KeyStore......