Как связать мой проект Java с другим проектом Java, который я преобразовал в библиотеку?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как связать мой проект Java с другим проектом Java, который я преобразовал в библиотеку?

Сообщение Anonymous »

Я создал проект Java Splash Screen, импортировал другой проект IntroScreen через исходный код и преобразовал его в библиотеку. Теперь мне нужно связать их вместе в следующем порядке: Экран-заставка --> IntroScreen.

Java-код заставки


import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;

public class SplashActivity extends AppCompatActivity {

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

Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run()
{
Intent intent = new Intent(SplashActivity.this,IntroActivity.class);
startActivity(intent);
finish();
}
},2500);
}
}


Код IntroActivity из библиотеки (из преобразованной библиотеки)


private ViewPager screenPager;
IntroViewPagerAdapter introViewPagerAdapter ;
TabLayout tabIndicator;
Button btnNext;
int position = 0 ;
Button btnGetStarted;
Animation btnAnim ;
TextView tvSkip;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

// make the activity on full screen

requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);

// when this activity is about to be launch we need to check if its openened before or not

if (restorePrefData()) {

Intent mainActivity = new Intent(getApplicationContext(),MainActivity.class );
startActivity(mainActivity);
finish();

}

setContentView(R.layout.activity_intro);

// hide the action bar

getSupportActionBar().hide();

// ini views
btnNext = findViewById(R.id.btn_next);
btnGetStarted = findViewById(R.id.btn_get_started);
tabIndicator = findViewById(R.id.tab_indicator);
btnAnim = AnimationUtils.loadAnimation(getApplicationContext(),R.anim.button_animation);
tvSkip = findViewById(R.id.tv_skip);

// fill list screen

final List mList = new ArrayList();
mList.add(new ScreenItem("Fresh Food","Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, consectetur consectetur adipiscing elit",R.drawable.img1));
mList.add(new ScreenItem("Fast Delivery","Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, consectetur consectetur adipiscing elit",R.drawable.img2));
mList.add(new ScreenItem("Easy Payment","Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, consectetur consectetur adipiscing elit",R.drawable.img3));

// setup viewpager
screenPager =findViewById(R.id.screen_viewpager);
introViewPagerAdapter = new IntroViewPagerAdapter(this,mList);
screenPager.setAdapter(introViewPagerAdapter);

// setup tablayout with viewpager

tabIndicator.setupWithViewPager(screenPager);

// next button click Listner

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

position = screenPager.getCurrentItem();
if (position < mList.size()) {

position++;
screenPager.setCurrentItem(position);

}

if (position == mList.size()-1) { // when we rech to the last screen

// TODO : show the GETSTARTED Button and hide the indicator and the next button

loaddLastScreen();

}

}
});

// tablayout add change listener

tabIndicator.addOnTabSelectedListener(new TabLayout.BaseOnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {

if (tab.getPosition() == mList.size()-1) {

loaddLastScreen();

}

}

@Override
public void onTabUnselected(TabLayout.Tab tab) {

}

@Override
public void onTabReselected(TabLayout.Tab tab) {

}
});

// Get Started button click listener

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

//open main activity

Intent mainActivity = new Intent(getApplicationContext(),MainActivity.class);
startActivity(mainActivity);
// also we need to save a boolean value to storage so next time when the user run the app
// we could know that he is already checked the intro screen activity
// i'm going to use shared preferences to that process
savePrefsData();
finish();

}
});

// skip button click listener

tvSkip.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
screenPager.setCurrentItem(mList.size());
}
});

}

private boolean restorePrefData() {

SharedPreferences pref = getApplicationContext().getSharedPreferences("myPrefs",MODE_PRIVATE);
Boolean isIntroActivityOpnendBefore = pref.getBoolean("isIntroOpnend",false);
return isIntroActivityOpnendBefore;

}

private void savePrefsData() {

SharedPreferences pref = getApplicationContext().getSharedPreferences("myPrefs",MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putBoolean("isIntroOpnend",true);
editor.commit();

}

// show the GETSTARTED Button and hide the indicator and the next button
private void loaddLastScreen() {

btnNext.setVisibility(View.INVISIBLE);
btnGetStarted.setVisibility(View.VISIBLE);
tvSkip.setVisibility(View.INVISIBLE);
tabIndicator.setVisibility(View.INVISIBLE);
// TODO : ADD an animation the getstarted button
// setup animation
btnGetStarted.setAnimation(btnAnim);

}
}


Код IntroViewPagerAdapter (из преобразованной библиотеки)

public class IntroViewPagerAdapter extends PagerAdapter {

Context mContext ;
List mListScreen;

public IntroViewPagerAdapter(Context mContext, List mListScreen) {
this.mContext = mContext;
this.mListScreen = mListScreen;
}

@NonNull
@Override
public Object instantiateItem(@NonNull ViewGroup container, int position) {

LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layoutScreen = inflater.inflate(R.layout.layout_screen,null);

ImageView imgSlide = layoutScreen.findViewById(R.id.intro_img);
TextView title = layoutScreen.findViewById(R.id.intro_title);
TextView description = layoutScreen.findViewById(R.id.intro_description);

title.setText(mListScreen.get(position).getTitle());
description.setText(mListScreen.get(position).getDescription());
imgSlide.setImageResource(mListScreen.get(position).getScreenImg());

container.addView(layoutScreen);

return layoutScreen;

}

@Override
public int getCount() {
return mListScreen.size();
}

@Override
public boolean isViewFromObject(@NonNull View view, @NonNull Object o) {
return view == o;
}

@Override
public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {

container.removeView((View)object);

}
}


Код ScreenItem (из преобразованной библиотеки)

public class ScreenItem {

String Title,Description;
int ScreenImg;

public ScreenItem(String title, String description, int screenImg) {
Title = title;
Description = description;
ScreenImg = screenImg;
}

public void setTitle(String title) {
Title = title;
}

public void setDescription(String description) {
Description = description;
}

public void setScreenImg(int screenImg) {
ScreenImg = screenImg;
}

public String getTitle() {
return Title;
}

public String getDescription() {
return Description;
}

public int getScreenImg() {
return ScreenImg;
}
}


Подробнее здесь: https://stackoverflow.com/questions/588 ... onverted-t
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как связать мой проект Java с другим проектом Java, который я преобразовал в библиотеку?
    Anonymous » » в форуме Android
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как я могу связать библиотеку UnQLite с моим проектом?
    Гость » » в форуме C++
    0 Ответы
    25 Просмотры
    Последнее сообщение Гость
  • Невозможно связать библиотеку FMOD с проектом VS2010
    Anonymous » » в форуме C++
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Как правильно связать библиотеку ODB с проектом с помощью cmake в Windows?
    Anonymous » » в форуме C++
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Как правильно связать библиотеку ODB с проектом с помощью cmake в Windows?
    Anonymous » » в форуме C++
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»