微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

离线获取json文件

如何解决离线获取json文件

我有这个 json 文件,我试图获取它的数据。

使用 var data = require('../file.json'); 我可以很容易地获取数据,

但是 - 网络浏览器不支持 require.js,因此我无法使用它。

我看到 fetch.js 提供了我需要的相同功能(我只想将 json 文件中的数据作为一个对象),但是如果它不是在线托管的,我就无法使用它,我不知道如何设置本地主机服务器。

有人可以为这样的问题提供解决方案吗?是否有另一种方法可以像我想要的那样“客观化”json 文件中的数据?

解决方法

可以使用public class Musicplay extends AppCompatActivity implements View.OnClickListener { Button play,next,previous; TextView songmar; SeekBar seekBar; MediaPlayer mediaPlayer; int position,idr; Handler handler=new Handler(); Handler vindler=new Handler(); Uri uri; int max; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.playdisplay); Intent i=getIntent(); position=i.getIntExtra("position",0); play=findViewById(R.id.pause); next=findViewById(R.id.next); previous=findViewById(R.id.previous); songmar=findViewById(R.id.songnamemar); songmar.setSelected(true); songmar.setText(Musiclist.songname.get(position)); seekBar=findViewById(R.id.seekBar); if(mediaPlayer==null) { Log.d("null","null"); } else { if(mediaPlayer.isPlaying()) { mediaPlayer.stop(); mediaPlayer.release(); } else { mediaPlayer.release(); } } uri=Uri.parse(String.valueOf(new File(Musiclist.songpath.get(position)))); mediaPlayer=MediaPlayer.create(Musicplay.this,uri); seekBar.setMax(mediaPlayer.getDuration()); mediaPlayer.start(); max=mediaPlayer.getDuration(); play.setBackgroundResource(R.drawable.ic_pause); Thread thread=new Thread(){ @Override public void run() { super.run(); int currentposition=0; while (currentposition<max) { try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } currentposition=mediaPlayer.getCurrentPosition(); seekBar.setProgress(currentposition); } } }; thread.start(); seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar,int progress,boolean fromUser) { } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { mediaPlayer.seekTo(seekBar.getProgress()); } }); next.setOnClickListener(Musicplay.this); play.setOnClickListener(Musicplay.this); previous.setOnClickListener(Musicplay.this); mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { mp.stop(); mp.reset(); if(position<(Musiclist.songname.size()-1)){ position=position +1; } else { position=0; } uri = Uri.parse(String.valueOf(new File(Musiclist.songpath.get(position)))); try { mp.setDataSource(Musicplay.this,uri); } catch (IOException e) { e.printStackTrace(); } songmar.setText(Musiclist.songname.get(position)); songmar.setSelected(true); try { mp.prepare(); } catch (IOException e) { e.printStackTrace(); } } }); mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { mp.start(); seekBar.setMax(mp.getDuration()); max=mp.getDuration(); Log.d("seekvalue",String.valueOf(max)); } }); } @Override public void onClick(View v) { idr=v.getId(); Thread thread2=new Thread(){ @Override public void run() { super.run(); handler.post(new Runnable() { @Override public void run() { switch (idr){ case R.id.pause: if(mediaPlayer.isPlaying()){ mediaPlayer.pause(); play.setBackgroundResource(R.drawable.ic_play); } else { play.setBackgroundResource(R.drawable.ic_pause); mediaPlayer.start(); } break; case R.id.next: mediaPlayer.stop(); mediaPlayer.reset(); if(position<(Musiclist.songname.size()-1)){ position=position +1; Uri uri=Uri.parse(String.valueOf(new File(Musiclist.songpath.get(position)))); try { mediaPlayer.setDataSource(Musicplay.this,uri); } catch (IOException e) { e.printStackTrace(); } int a=0; for(int i=0;i<150;i++) { a=a+1; } try { mediaPlayer.prepare(); } catch (IOException e) { e.printStackTrace(); } play.setBackgroundResource(R.drawable.ic_pause); songmar.setText(Musiclist.songname.get(position)); songmar.setSelected(true); } else { position=0; Uri uri=Uri.parse(String.valueOf(new File(Musiclist.songpath.get(position)))); try { mediaPlayer.setDataSource(Musicplay.this,uri); } catch (IOException e) { e.printStackTrace(); } int a=0; for(int i=0;i<150;i++) { a=a+1; } try { mediaPlayer.prepare(); } catch (IOException e) { e.printStackTrace(); } play.setBackgroundResource(R.drawable.ic_pause); songmar.setText(Musiclist.songname.get(position)); songmar.setSelected(true); } break; case R.id.previous: mediaPlayer.stop(); mediaPlayer.reset(); if(position>0){ position=position-1; Uri uri=Uri.parse(String.valueOf(new File(Musiclist.songpath.get(position)))); try { mediaPlayer.setDataSource(Musicplay.this,uri); } catch (IOException e) { e.printStackTrace(); } int a=0; for(int i=0;i<150;i++) { a=a+1; } try { mediaPlayer.prepare(); } catch (IOException e) { e.printStackTrace(); } play.setBackgroundResource(R.drawable.ic_pause); songmar.setText(Musiclist.songname.get(position)); songmar.setSelected(true); } else { position=Musiclist.songname.size()-1; Uri uri=Uri.parse(String.valueOf(new File(Musiclist.songpath.get(position)))); try { mediaPlayer.setDataSource(Musicplay.this,uri); } catch (IOException e) { e.printStackTrace(); } int a=0; for(int i=0;i<150;i++) { a=a+1; } try { mediaPlayer.prepare(); } catch (IOException e) { e.printStackTrace(); } play.setBackgroundResource(R.drawable.ic_pause); songmar.setText(Musiclist.songname.get(position)); songmar.setSelected(true); } break; } } }); } }; thread2.start(); } } 获取json格式的数据。

res.json()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。