Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从arraylist firebase获取随机对象_Java_Android_Firebase_Firebase Realtime Database_Arraylist - Fatal编程技术网

Java 从arraylist firebase获取随机对象

Java 从arraylist firebase获取随机对象,java,android,firebase,firebase-realtime-database,arraylist,Java,Android,Firebase,Firebase Realtime Database,Arraylist,在Firebase中,我需要Parsing2,其中1-视频,2-发布日期,3-流派,4-出版商,5-img,6-img2,7-标题,8-描述,9-开发者,10个url链接,11-14个标签,15个价格。我需要在随机对象(0,n)中获取标题和img 描述要获取的内容的类 public class Random_game_texture { String title; String img; public Random_game_texture(String img, String title)

在Firebase中,我需要Parsing2,其中1-视频,2-发布日期,3-流派,4-出版商,5-img,6-img2,7-标题,8-描述,9-开发者,10个url链接,11-14个标签,15个价格。我需要在随机对象(0,n)中获取标题和img

描述要获取的内容的类

public class Random_game_texture {
String title;
String img;

public  Random_game_texture(String img, String title){
    this.title=title;
    this.img=img;
}

public void setTitle(String title) {
    this.title = title;
}

public void setImg(String img) {
    this.img = img;
}

public String getTitle() {
    return title;
}

public String getImg() {
    return img;
}}
需要实现从firebase获取数据和执行随机方法的随机游戏类

  public class Random_game extends AppCompatActivity implements View.OnClickListener{

  Button random_btn, link_btn;
  TextView title;
  ImageView img;
  DatabaseReference myRef;
  ArrayList<Random_game_texture> gamesList;
  Random randomGenerator;


@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_random_game);

    ImageButton Home = (ImageButton) findViewById(R.id.home);
    Home.setOnClickListener(this);
    ImageButton Lupa = (ImageButton) findViewById(R.id.lupa);
    Lupa.setOnClickListener(this);
    ImageButton Calendar = (ImageButton) findViewById(R.id.calendar);
    Calendar.setOnClickListener(this);
    ImageButton Kubik = (ImageButton) findViewById(R.id.kubik);
    Kubik.setOnClickListener(this);
    ImageButton Profile = (ImageButton) findViewById(R.id.profile);
    Profile.setOnClickListener(this);

    random_btn=findViewById(R.id.random_game);
    link_btn=findViewById(R.id.link_page);

    title=findViewById(R.id.name_random);
    img=findViewById(R.id.img_random);

    myRef = FirebaseDatabase.getInstance().getReference();
    gamesList=new ArrayList<>();




    random_btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {


        }
    });

}


@Override
public void onClick(View v) {
    switch (v.getId()){
        case R.id.home:
            startActivity(new Intent(this, News.class));
            break;
        case R.id.lupa:
            startActivity(new Intent(this, Games.class));
            break;
        case R.id.calendar:
            startActivity(new Intent(this, Calendar.class));
            break;
        case R.id.kubik:
            startActivity(new Intent(this, Random_game.class));
            break;
        case R.id.profile:
            startActivity(new Intent(this, Profile.class));
            break;
    }
}}
public class Random\u游戏扩展AppCompatActivity实现View.OnClickListener{
按钮随机链接;
文本视图标题;
图像视图img;
数据库参考myRef;
ArrayList玩家列表;
随机发生器;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u random\u game);
ImageButton Home=(ImageButton)findViewById(R.id.Home);
Home.setOnClickListener(this);
ImageButton Lupa=(ImageButton)findViewById(R.id.Lupa);
Lupa.setOnClickListener(this);
ImageButton日历=(ImageButton)findViewById(R.id.Calendar);
Calendar.setOnClickListener(此);
ImageButton Kubik=(ImageButton)findViewById(R.id.Kubik);
Kubik.setOnClickListener(本);
ImageButton配置文件=(ImageButton)findViewById(R.id.Profile);
Profile.setOnClickListener(此);
random_btn=findViewById(R.id.random_游戏);
link\u btn=findviewbyd(R.id.link\u页面);
title=findviewbyd(R.id.name\u随机);
img=findViewById(R.id.img_随机);
myRef=FirebaseDatabase.getInstance().getReference();
gamesList=newarraylist();
random_btn.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
}
});
}
@凌驾
公共void onClick(视图v){
开关(v.getId()){
案例R.id.home:
startActivity(新意图(this,News.class));
打破
案例R.id.lupa:
startActivity(新意图(这个,Games.class));
打破
案例R.id.日历:
startActivity(新意图(这个,Calendar.class));
打破
案例R.id.kubik:
startActivity(新意图(这个,Random_game.class));
打破
案例R.id.profile:
startActivity(新意图(此,Profile.class));
打破
}
}}

您的节点已编号,因此可以更轻松地使用我为您编写的代码。 其中,我的代码显示“max”和“min”放置第一个和最后一个节点。 也不能从图像中复制和粘贴节点名称。希望它对你有用,如果不行,我还是个初学者

random_btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
     readNodes();

    }
});
//将该方法从
onCreate()中删除


我试过了,我不得不改变一下。它可以与标题配合使用,但由于某些原因,图像链接会显示在控制台中。谢谢@如果您的代码上没有任何类型的
System.out.print()
,则SirgeryLink不应出现在控制台上
private void readNodes() {

int range = ("max" - "min") + 1;     
int random (int)(Math.random() * range) + "min"; 
String node = String.valueOf(random);


    DatabaseReference ref = myRef.child("Parsing2").child(node);

        ref.addValueEventListener(new ValueEventListener() {

            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

               
                

                String title1 = dataSnapshot.child("title node name").getValue().toString();
                String img1 = dataSnapshot.child("img node name").getValue().toString();

                Random_game_texture randomObject = new Random_game_texture(img1, title1);

                title.setText(randomObject.getTitle());
                img.setText(randomObject.getImg());

            }

            @Override
            public void onCancelled(@NonNull DatabaseError error) {


            }


        });
    

}