Ich habe eine Anwendung erstellt, die Bilder in GridView anzeigen und anzeigen wird. das Bild ist Base64 encode auf Datenbank und in meiner Anwendung dekodiere ich das Bild. Ich benutze jtds.jar Bibliotheksdatei, um Coma-Datenbank zu verbinden die Anwendung funktioniert gut, wenn der Server lokal ist, wenn auf dem Webserver die Bilder nicht auf Gridview angezeigt werden. Tanks für die Hilfe.GridView zeigt kein Bild vom Webserver an
public class HomeFragment erweitert Fragment {
ConnectionClass connectionClass;
GridView gridView;
// ProgressBar pbbar;
MenuProdutoAdapter adapter;
public HomeFragment() {
// Required empty public constructor
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
connectionClass = new ConnectionClass();
FillGrid fillGrid = new FillGrid();
fillGrid.execute("");
Toast.makeText(getActivity(), "Internet nao esta disponivel", Toast.LENGTH_LONG).show();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_home, container, false);
gridView = (GridView) rootView.findViewById(R.id.gridView1);
// pbbar = (ProgressBar) rootView.findViewById(R.id.pbbar);
// pbbar.setVisibility(View.GONE);
// Inflate the layout for this fragment
return rootView;
}
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
}
@Override
public void onDetach() {
super.onDetach();
}
public class FillGrid extends AsyncTask<String, String, String> {
String z = "";
List<MenuProdutos> menuProdutosList = new ArrayList<MenuProdutos>();
@Override
protected void onPreExecute() {
// pbbar.setVisibility(View.VISIBLE);
}
@Override
protected void onPostExecute(String r) {
// pbbar.setVisibility(View.GONE);
Toast.makeText(getActivity(),r, Toast.LENGTH_SHORT).show();
adapter = new MenuProdutoAdapter(HomeFragment.this, menuProdutosList);
gridView.setAdapter(adapter);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String pid = menuProdutosList.get(position).getProdutoMenu_ID();
Toast.makeText(getActivity().getApplicationContext(), "Produtos "
+ (position + 1) + ": " + menuProdutosList.get(position).getProdutoMenu_nome()
+ "E o seu PID eh: " + pid,
Toast.LENGTH_LONG).show();
// Intent Absicht = new Intent (getActivity() getApplicationContext(), FriendsActivity.class.); // intention.putExtra ("pid", pid); // startActivity (Absicht);
displayView(position);
}
} );
}
@Override
protected String doInBackground(String... params) {
try {
Connection con = connectionClass.CONN();
if (con == null) {
z = "Error in connection with SQL server";
} else {
String query = "select * from ImagemMenu";
PreparedStatement ps = con.prepareStatement(query);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
String Menupro_ID = rs.getString("Id");
String Menupro_nome = rs.getString("Nome");
String Menupro_image = rs.getString("Imagem");
byte[] decodeString = Base64.decode(Menupro_image, Base64.DEFAULT);
Bitmap Menupro_bitmap = BitmapFactory.decodeByteArray(decodeString,
0, decodeString.length);
MenuProdutos p = new MenuProdutos(Menupro_ID, Menupro_nome, Menupro_bitmap);
menuProdutosList.add(p);
}
z = "Success";
}
} catch (Exception ex) {
z = "Error retrieving data from table";
}
return z;
}
}
Verwenden Sie http://square.github.io/picasso/ – meh